これは、Facebook がログイン プロセスに変更を加えたためだと思います。
数日前、私の航空アプリはfacebook-actionscript-apiの FacebookDesktop クラスで動作していました。今日、プロジェクトを開いたところ、Facebook のログイン画面が、アプリの作成を開始したときと少し異なっていることに気付きました。ユーザー ID とパスワードを入力したら、公開プロフィール、友達リスト、写真へのアクセスをアプリに許可します。次に、別の画面が表示され、自分に代わって友達に投稿する権限をアプリに付与します。
その後、ウィンドウが閉じ、「OAuthException 2500 現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります。」というメッセージが表示されます。
ブラウザから Facebook にサインインすると、自分のアプリが [Your Apps] の下に表示されますが、ログインしてアプリから何もできません。
OSX Lion の GraphAPI_Desktop_1_8_1.swc で Adobe Flash を使用しています。
これが私のコードです:
public function MyApp(){
FacebookDesktop.init(APP_ID, onInit);
}
protected function onInit(result:Object, fail:Object):void {
if (result) {
trace("onInit, Logged In\n");
} else {
trace("onInit, Not Logged In\n");
var permissions:Array = ["publish_stream", "user_photos"];
FacebookDesktop.login(onLogin, permissions);
}
}
protected function onLogin(result:Object, fail:Object):void {
if (result) {
trace("Logged In as:");
trace(FacebookDesktop.getSession().user.name);
} else {
trace("Login Failed");
trace('code: '+fail.error.code); //code: 2500
trace('message: '+fail.error.message); //message: An active access token must be used to query information about the current user.
trace('type: '+fail.error.type); //type: OAuthException
}
}
SDK で提供されている FlashDesktopExample を使用すると、同じ結果が得られます (もちろん、アプリ ID で変更されています)。
どんな助けでも素晴らしいでしょう!前もって感謝します!