簡體   English   中英

如何使用graph API v2.0獲取Facebook用戶朋友和朋友的個人資料圖片?

[英]How to get a facebook users friends and profile picture of friends using graph api v2.0?

Facebook最近將其圖譜api更新到v2.0(2014年4月30日)。 現在獲取Facebook朋友及其個人資料圖片的標准api調用是什么? (我/朋友無法正常工作,因為我希望所有朋友而不是使用該應用程序的朋友)

在Graph API的v2.0中,/ me / friends僅包括也登錄了該應用程序的用戶朋友。

要在添加標簽和邀請的情況下使用朋友使用非應用程序,可以使用新的/me/taggable_friends/me/invitable_friends端點。

此處有更多詳細信息: Facebook Graph Api v2.0 +-/ me / friends返回空,或者僅返回也使用我的應用程序的朋友,此處: 使用Graph API v.2.0獲取facebook朋友

每個人都晚了,但是此信息並不存在。

這是您獲取taggable_friends Facebook個人資料圖片的方式(也很大!)

 [FBRequestConnection startWithGraphPath:@"/me/taggable_friends?fields=id,name,picture.type(large)"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id result,
                                          NSError *error
                                          ) {
                          NSArray* friends = [result objectForKey:@"data"];
                          NSLog(@"Found: %i friends", friends.count);
                         for (NSDictionary<FBGraphUser>* friend in friends) {



                             NSDictionary *pictureData = [[friend objectForKey:@"picture"] objectForKey:@"data"];

                             NSString *imageUrl = [pictureData objectForKey:@"url"];

                             NSLog(@"Facebook profile image url %@", imageUrl);



                          }




                      }];

這將檢索所有Facebook朋友,並解析每個朋友的imageURL。 您可以解析可標記鏈接的“ friend”節點(僅當您從應用程序中標記了朋友時才有效)及其用戶名。

    Next code will provide the taggable_friends with Url pictures at wanted sizes.

Session session = Session.getActiveSession();
    Bundle params = new Bundle();
    params.putString("fields", "picture.width(" + size.x + ").height(" + size.y + ")");
    Request request = new Request(session, "/me/taggable_friends", params, HttpMethod.GET, new Request.Callback() {
        public void onCompleted(Response response) {


        }
    });
    Request.executeBatchAsync(request);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM