私は iPhone アプリケーションに取り組んでおり、その一部は Facebook の統合に依存しています。SDK のバージョン 3.1 を Web サイトからダウンロードし、次のリンクにある最初のチュートリアルに従いました: Authenticate。
iPhone 4 と Xcode 4.5 で iOS 6.0.1 を使用しています。
ログインは正常に機能しますが、基本的なユーザー情報を要求するためにここの手順に従うと、アプリケーションで次のエラーが発生します。
2013-01-01 23:13:57.966 AppName[8691:907] Error: HTTP status code: 400
2013-01-01 23:13:57.977 AppName[8691:907] FBSDKLog: Response <#1111> <Error>:
The operation couldn’t be completed. (com.facebook.sdk error 5.)
これは、情報を要求するために使用しているコードです。
if (FBSession.activeSession.isOpen) {
[FBSettings setLoggingBehavior:[NSSet setWithObjects:
FBLoggingBehaviorFBRequests, nil]];
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *aUser,
NSError *error) {
if (!error) {
NSLog(@"%@", [[FBSession activeSession] accessToken]);
userProfileImage.profileID = aUser.id;
self.user = [[User alloc] initWithName:aUser.name andLocation:[aUser.location objectForKey:@"name"]];
[self.user saveUser];
[nameTextField setText:[self.user getName]];
[locationTextField setText:[self.user getLocation]];
}
}];
}
奇妙な部分は、FBRequest がシミュレーターで機能することです。アクセストークンを確認したところ、iPhoneでも取得できました。
もう 1 つ重要なことがあります。シミュレーターでは、アプリケーションは認証される Facebook Web サイトにリダイレクトされます (Facebook のアプリ リストで確認できます)。一方、デバイスからログインすると、最初のログイン時に標準アラートのみが表示され、アプリは Facebook に追加されません。
PS: これは私の最初の質問なので、情報の量 (または不足) についてお詫び申し上げます。助けてくれてありがとう!