iPhone アプリのユーザーが Facebook のプロフィール写真を表示して選択し、写真をダウンロードしてプロフィール写真として使用できるようにしたいと考えています。現在、Facebook SSO SDK を使用しており、正常にログインして Graph 情報にアクセスしています。を使用して写真情報にアクセスしようとしました (SSO ログインの成功後)。
[facebook requestWithGraphPath:@"me/albums"];
しかし、代わりに空のデータ オブジェクトを取得するだけです。Facebook API Explorerを使用してみましたが、これは非常に便利で、/picture と /photos と /albums のデータが得られます。何らかの理由で、requestWithGraphPath を使用して me/albums、me/picture、または me/photos と同じデータを取得できません。単純な「私」は問題なく動作しますが、画像情報は提供しません。誰が私が間違っているのか教えてもらえますか?
注: これは API リファレンスです: Facebook Graph API
ピクチャープロファイルを次のように機能させました:
[facebook requestWithGraphPath:@"me?fields=picture"];
更新: フォト アルバムであるすべてのプロフィール写真が本当に欲しいので、iOS からアルバムにアクセスする方法を知る必要があります。今無事取得できたプロフィール写真。
API に従って、フォト アルバムに "user_photos" と "friends_photos" のアクセス許可を追加しました。
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_likes",
@"user_birthday",
@"email",
@"publish_stream",
@"publish_actions",
@"user_photos",
@"friends_photos",
nil];
[facebook authorize:permissions];
空のデータを取得していると言うと、返される JSON の結果 (request:didLoad: 内) は次のとおりです。
{
data = (
);
}
私のログファイル出力から:
- (void) request:(FBRequest *)request didLoad:(id)result{
NSLog(@"%@",result);
}
最後のメモ: 最終的に機能したのは、別のデバイスを使用することでした。これにより、アクセス許可が更新され、すべてが機能し始めました! 私の推測では、エミュレーターと iPhone が Facebook のアクセス許可を更新していなかったため、写真へのアクセスが拒否され、空のデータ配列が取得されていたのです。
この SO の質問も大きな助けになりました: How to get photos of a facebook album in iPhone SDK?