このURLでFacebookアルバムを取得するiPhoneアプリケーションを開発していますhttps://graph.facebook.com/me/albums?access_token=2227470867|2.ZJr73vaEvFeN4fI_A70RFw__.3600.1297090800-100000566543036|WmgxdwULBgKXl8J7ksGIA1tyGik
今、このアルバムから写真を撮りたいです。
任意のアイデアをいただければ幸いです。
前もって感謝します。
このURLでFacebookアルバムを取得するiPhoneアプリケーションを開発していますhttps://graph.facebook.com/me/albums?access_token=2227470867|2.ZJr73vaEvFeN4fI_A70RFw__.3600.1297090800-100000566543036|WmgxdwULBgKXl8J7ksGIA1tyGik
今、このアルバムから写真を撮りたいです。
任意のアイデアをいただければ幸いです。
前もって感謝します。
したがって、/ me / albumsは、アルバムオブジェクトの配列を返します。各オブジェクトには。がありid
ます。
アルバムのIDが99394368305の場合は、次のURLにアクセスできます。
https://graph.facebook.com/99394368305/photos
写真オブジェクトの配列を取得します。
これらのそれぞれには、Facebookから画像データを取得するためのプロパティpicture
とプロパティがあります。source
images
オリジナルだけでなく、事前に拡大縮小された画像が必要な場合は、すべてに配列があります。
すべてのFacebookクエリはJSONを返します-これを解析する方法を知っていると思いますか?
次の手順のため、時間がかかります。
1)以下を使用して友達のuidを取得します:
NSString *urlString=[NSString stringWithFormat:@"https://graph.facebook.com/me/friends?access_token=%@&fields=id,picture,name,birthday",fbGraph.accessToken];
2)友達のuidを入れてアルバムIDを取得します:
NSString *urlString1=[NSString stringWithFormat:@"https://graph.facebook.com/%@/albums?access_token=%@",obj.uid,fbGraph.accessToken];
NSString *album = [[[_response1 objectForKey:@"data"]objectAtIndex:j]objectForKey:@"name"];
if ([album isEqualToString:@"Profile Pictures"])
{
albumid = [[[_response1 objectForKey:@"data"]objectAtIndex:j]objectForKey:@"id"];
}
3)次に、アルバムIDを入力して、そのアルバムから画像を取得します。
NSString *albumUrl=[NSString stringWithFormat:@"https://graph.facebook.com/%@/photos?type=album&access_token=%@",albumid,fbGraph.accessToken];
NSString *picUrl=[[[[[_response2 objectForKey:@"data"]objectAtIndex:0]objectForKey:@"images"]objectAtIndex:0]objectForKey:@"source"];
時間を節約するために、1つのステップで大きなサイズのプロフィール写真を取得する他の方法を教えてください。
以下のコードはあなたのために正しい仕事をするはずです。ログに記録されたユーザーのアルバムを取得してから、このアルバムの写真をリクエストします。コメントがある場所では、すべての写真にアクセスできます。詳細については、ドキュメントを参照してください。
FBRequest *request = [FBRequest requestForGraphPath:@"me/albums"];
[request startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary <FBGraphUser> *my, NSError *error) {
if ([my[@"data"]count]) {
for (FBGraphObject *obj in my[@"data"]) {
FBRequest *r = [FBRequest requestForGraphPath:[NSString stringWithFormat:@"/%@/photos", obj[@"id"]]];
[r startWithCompletionHandler:^(FBRequestConnection *c, NSDictionary <FBGraphUser> *m, NSError *err) {
//here you will get pictures for each album
}];
}
}
}];
Facebook開発者の新しいコード:
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{user-id}"
parameters:params
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];