iOS无法在FBSDKGraphRequest中发送字典参数

iOS无法在FBSDKGraphRequest中发送字典参数

问题描述:

我试图从我的应用程序中以合理的质量获取Facebook用户的个人资料图片。默认情况下,如果没有任何参数,对路径“me?fields = picture”的请求将获取较小的值,但使用带有“@”类型的键和值@“大”的参数字典将检索较大的一个。但是,api似乎忽略了这些参数。iOS无法在FBSDKGraphRequest中发送字典参数

FBSDKGraphRequest* picRequest = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me?fields=picture" parameters:[NSDictionary dictionaryWithObject:@"small" forKey:@"type"] HTTPMethod:@"GET"]; 

[picRequest startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 

     if (result) { 

      NSString* profilePictureURLString = [[[(NSDictionary*) result objectForKey:@"picture"] objectForKey:@"data"] objectForKey:@"url"]; 
      NSURL* profilePictureURL = [NSURL URLWithString:profilePictureURLString]; 
      NSData* profilePictureData = [NSData dataWithContentsOfURL:profilePictureURL];  
     }]; 

生成的数据总是50x50像素的小图片。

有人可以帮助我吗?谢谢!

+0

如果某人的回答解决你的问题,你可能要接受它作为使用大复选框答案。 – Juan

您可以设置图片的大小,如picture.width(float).height(float)。看下面的例子:

FBSDKGraphRequest* picRequest = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me?fields=picture.width(200).height(200)" 
                   parameters:nil 
                   HTTPMethod:@"GET"]; 

您可以测试的要求为Graph API Explorer

+0

谢谢!有用 –