2

使用 FB iOS sdk,我在使用 Graph API 检索图片时遇到问题。

我曾经做过[facebook requestWithGraphPath:@"me?fields=id,first_name,last_name,picture,gender,email&type=large" andDelegate:self];

检索有关已登录用户的信息。它仍然有效,只是以前的图片是大的,现在是小的。

我不想单独调用图片请求,否则我不会在这里发帖

关于如何恢复旧结果的任何提示?一个请求中的生物数据+大图。

感谢您的帮助。

4

3 回答 3

4

picture尝试使用请求大图片类型而不是请求,picture.type(large)这样您的请求看起来像这样:

[facebook requestWithGraphPath:@"me?fields=id,first_name,last_name,picture.type(large),gender,email" andDelegate:self];

这将在响应中返回一个值作为图片,但它将具有大图像 URL 而不是小图像 URL

于 2012-09-13T08:40:40.243 回答
2

我发现 picture.type(large) 不会返回方形图片。如果您想要更大的图片但保持正方形,您可以使用设置为相同值的宽度和高度,如下所示:

picture.width(200).height(200)
于 2012-12-31T15:47:50.950 回答
0

用Swift回答问题(旧的 的 Facebook URI(s) 语法):

enum FacebookEndPoint: String {
    case Me = "me"

    static func userProfilePicture(let facebookID: String, let pictureType: String) -> String {
          // Old syntax
          // return "/\(facebookID)/picture?type=\(pictureType)"

          // New syntax
          return "/\(facebookID)?fields=picture.type(\(pictureType))"
    }

    static func userProfilePicture(let facebookID: String, let width: Int, let height: Int) -> String {
        // Old syntax
        // return "/\(facebookID)/picture?width=\(width)&height=\(height)"

        // New syntax
        return "/\(facebookID)?fields=picture.width(\(width)).height(\(height))"
    }
}

注意:我刚刚通过 Facebook Graph Explorer 工具测试了 URI,两种语法(旧的和新的)在我写这个答案的时候都有效。

于 2015-07-24T15:49:34.083 回答