Facebook页面图片在FBSDKGraphRequest中返回null

时间:2016-05-08 15:55:55

标签: ios facebook-graph-api fbsdk

我正在尝试从Facebook页面检索图像。我检索了页面ID,现在我需要使用此ID从页面获取图像。我使用以下代码:

let pictureRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: picPath, parameters: ["fields" : "data"], HTTPMethod: "GET")
                            pictureRequest.startWithCompletionHandler({ (connection: FBSDKGraphRequestConnection!, result, error) -> Void in
                                if (error != nil) {
                                    print("picResult: \(result)")
                                } else {
                                    print(error!)
                                }
                            })

我没有收到错误,但我的结果是null。 picpath看起来像这样:

/110475388978628/picture

我直接从here复制了代码,但它不起作用。我有什么想法我做错了吗?我有访问令牌,因为我能够通过图形请求获取页面ID

3 个答案:

答案 0 :(得分:2)

如果您想在与其他用户信息相同的请求中获取图片,则可以在一个图形请求中完成所有操作。

let request = FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, email, picture.type(large)"])
request.startWithCompletionHandler({ (connection, result, error) in
    let info = result as! NSDictionary
    if let imageURL = info.valueForKey("picture")?.valueForKey("data")?.valueForKey("url") as? String {
        //Download image from imageURL
    }
})

答案 1 :(得分:1)

没有名为“fields”的参数。用nil

替换[“fields”:“data”]
let pictureRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: picPath, parameters: nil, HTTPMethod: "GET")
                            pictureRequest.startWithCompletionHandler({ (connection: FBSDKGraphRequestConnection!, result, error) -> Void in
                                if (error != nil) {
                                    print("picResult: \(result)")
                                } else {
                                    print(error!)
                                }
                            })

答案 2 :(得分:1)

您可以使用Graph API资源管理器工具来帮助首先构建图形请求:https://developers.facebook.com/tools/explorer

在这种情况下,您会发现您希望图表路径只是对象ID(即,您的picPath应该只是110475388978628而且您的参数应该是{{1 }}

然后你要解析" url"超出[ "fields" : "picture"]