追記:「Facebookアプリテストユーザー作成方法〜実践編」も書きましたのでご参考下さい。

最近Facebookアプリに興味があり色々いじってて動作検証方法を調べてるとスタンダードでない情報を参考にしてしまい、結果として自分のアカウントがテストユーザーステータスとなり通常のユーザーステータスへ戻せなくなってしまった。
気分的には携帯電話のメモリが一瞬で飛んだ感じ。
まぁそこまで本格的に使ってた訳じゃないけど再度友人申請してくのがめんどいんだよな。。。

で、正しくは
Test Users - Facebook開発者
に記載があって、一応ちゃんと理解するために読んでたら結果的に和訳してしまったので掲載しとく。

後になって気づいたんだけどここにある程度概要がざっくり書いてあって先にそっち読んでればよかった。。。

フェイスブックの新 API でフェイスブックアプリのテストを自動化しよう。 - IT戦記

以下、せっかく和訳したのでそのご紹介。
※英語に自信があるわけではなく分からない単語は辞書引くなどして和訳したものなので誤訳等あればご指摘下さいませ。




Introduction

テストユーザーは本来機能的なテストを行う目的のためアプリケーションに紐付いたユーザーアカウントです。
直接そのアカウントへログイン出来るlogin_urlを通してテストアカウントへアクセス出来ます。
login_urlは1時間後に有効期限が切れますが同じテストユーザーに新しいlogin_urlを取得することで簡単に更新できます。
1つのアプリケーションをテストし始めるのに100アカウントまで作成可能です。
現在では以下に記載のAPIを経由してのみテストユーザーの作成、及び管理が可能です。
しかし近い将来開発者用アプリを通してアクセス可能な環境を提供する予定です。



Creating

application access tokenGraph APIを使って特定のアプリケーションと紐付けたテストユーザーを作成することが出来ます。

API

POST /app_id/accounts/test-users?installed=true&permissions=read_stream

Parameters:

このユーザーが作成時に許可される権限の設定だけでなく、既にテスト対象のアプリケーションにインストールされたかどうかを指定出来ます。
installed: Booleanパラメーターで作成時にアプリケーションへ登録済みかどうかを指定出来ます。trueがdefaultです。
permissions: カンマ区切りのリストで追加したい権限を指定出来ます。installedパラメータがtrueの場合に新しく作成されるユーザーへここで指定した権限が設定されます。

Response :

  "id": "1231....",  
   "access_token":"1223134..." , 
   "login_url":"https://www.facebook.com/platform/test_account.." 
}
id : テストユーザーのUser id
access_token: このaccess_tokenを使ってテストユーザーとなってAPIをコールすることが出来ます。テストユーザーへinstalledされた場合にのみ利用可能です。
login_url: login_urlを使ってテストユーザーとしてログイン可能です。This expires on first use or after one hour whichever happens first to ensure that the test accounts remain secure. login_urlを単純にGETメソッドでコールすることで簡単に更新できます。
※下線部は和訳できなかった部分。

Error Codes:

作成可能なテストユーザー数の上限を超えるとエラーの通知を受けます。
Error code: 2900 (Too many test accounts)


Accessing

access_tokenとGraph APIを使ってアプリケーションへ紐付いたテストユーザーへアクセス可能です。

API
GET  /app_id/accounts/test-users

Response:
{
 "data" [
   { 
    "id": "1231....",  
    "access_token":"1223134..." , 
    "login_url":"https://www.facebook.com/platform/test_account.." 
   }
   { 
    "id": "1231....",  
    "access_token":"1223134..." , 
    "login_url":"https://www.facebook.com/platform/test_account.." 
   }
 ]
}
id : テストユーザーのUser id
access_token: access_tokenを使ってテストユーザーとなってAPIをコールすることが出来ます。テストユーザーへinstalledされた場合にのみアクセス可能です。
login_url: このURLへアクセスすることでテストユーザーとしてログインすることが出来ます。 This expires on first use or after 10 minutes whichever happens first.



Making friend connections

このAPIを使ってテストユーザー同士をfriends connections出来ます。
友人申請を受け取るだけでなく申請状態を作成するAPIを提供しています。
API自体を通してテストユーザー間で複数のfriends connectionsを構築することを可能にしています。
テストユーザーでログインせずに申請を許可出来ます。

API
POST /test_user_id_1/friends/test_user_id_2
POST /test_user_id_2/friends/test_user_id_1
  • 最初のコールはtest_user_id_1のaccess_tokenを用います。これはtest_user_id_1からtest_user_id_2へ友人申請を行っています。
  • 二番目のコールはtest_user_id_2のaccess_tokenで行い、このリクエストを確認しています。

Response: 成功時はtrueを返し、失敗したときはfalseを返します。



Deleting
存在するテストユーザーをグラフのどんなオブジェクトからも削除出来ます。

API
DELETE  /test_user_id
with access token of the test user.

Response: 成功時はtrueを返し、失敗したときはfalseを返します。



Limitations

アカウント無効化される心配せずにテストを行える環境を作るため、スパムや偽のアカウントを排除するテスト用に作成されたユーザーを検知するシステムを保証します。
一方で、様々なシナリオでテストするために作られたテストユーザーが故意にスパムを作ることにならないようにテストユーザーが行えることに対して一定の閾値を設けています。
  • テストユーザーは他のテストユーザーに対してのみ作用し、リアルユーザーには影響しない。
  • テストユーザーはパブリックなファンページやウォールに掲載されるようなコンテンツを作ることができない。一方でアプリケーションに紐付いてればそのページ内にアプリケーションタブを見たり、影響を及ぼすことが出来ます。
  • アプリケーションへ紐尽く開発者であれば誰でもアクセス出来るし、利用可能です。
  • アプリケーションへ紐尽くテスト権限のみ保持します。これはライブモードやサンドボックスモードでも利用出来るが技術的な設定を編集したりアプリケーションの内部へアクセスすることが出来ないということを意味します。
  • テストユーザーは常にテストステータスであり、通常アカウントに切り換えることは出来ません。
以上です。下線がある部分はそもそも訳せなかったか訳してて意味が分からなかった部分です。原文みて正しい訳分かる方は教えて下さいませ。