【问题标题】:Facebook Page Image returning null in FBSDKGraphRequestFacebook 页面图像在 FBSDKGraphRequest 中返回 null
【发布时间】:2016-05-08 15:55:54
【问题描述】:

我正在尝试从 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!)
                                }
                            })

我没有收到错误,但我的结果为空。图片路径如下所示:

/110475388978628/picture

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

【问题讨论】:

    标签: ios facebook-graph-api fbsdk


    【解决方案1】:

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

    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
        }
    })
    

    【讨论】:

      【解决方案2】:

      没有称为“字段”的参数。将 ["fields" : "data"] 替换为 nil

      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!)
                                      }
                                  })
      

      【讨论】:

        【解决方案3】:

        您可以先使用 Graph API explorer 工具帮助构建图请求:https://developers.facebook.com/tools/explorer

        在这种情况下,您会看到您希望图形路径只是对象 ID(即,您的 picPath 应该只是 110475388978628,而您的参数应该是 [ "fields" : "picture"]

        然后你需要从result["picture"]["data"]["url"] 中解析出“url”。

        【讨论】:

          猜你喜欢
          • 2021-11-11
          • 2020-10-26
          • 2017-09-08
          • 2021-03-25
          • 1970-01-01
          • 2023-03-07
          • 1970-01-01
          • 2016-03-27
          • 1970-01-01
          相关资源
          最近更新 更多