繁体   English   中英

如何在iPhone SDK中获取facebook相册的照片?

[英]How to get photos of a facebook album in iPhone SDK?

我正在开发一个iPhone应用程序,用这个URL获取facebook专辑https://graph.facebook.com/me/albums?access_token=2227470867|2.ZJr73vaEvFeN4fI_A70RFw__.3600.1297090800-100000566543036|WmgxdwULBgKXl8J7ksGIA1tyGik

现在我想从这张专辑中获取照片。

任何想法将不胜感激。

提前致谢。

所以/ me / albums返回一个Album对象数组,每个对象都有一个id

如果一张专辑的ID为99394368305,你可以去

https://graph.facebook.com/99394368305/photos

获取一系列照片对象

其中每个都具有picturesource属性,以从Facebook获取图像数据。

如果你想要预先缩放的图像而不仅仅是原件,它们都会有一个images数组。


所有的facebook查询都给了JSON - 我假设你知道如何解析它?

由于以下步骤,需要花费大量时间;

1)让朋友使用:

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"];

请告诉我一些其他方法,只需一步即可获得大尺寸的个人资料图片,以节省时间。

下面的代码应该为您做正确的工作。 它获取已登录用户的相册,然后请求此相册的照片。 在评论的地方,您可以访问所有照片。 有关详细信息,请参阅文档

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
}];

最新的Facebook Graph API文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM