提问人:Ice 提问时间:10/31/2023 更新时间:10/31/2023 访问量:46
公开个人资料的 Facebook iOS SDK 图像 URL 状态为 404
Facebook iOS SDK image URL of public profile have status 404
问:
我在从 publis_profile 获取用户个人资料图像时遇到了问题,在初始化 Facebook 应用程序后,一个月一切都按预期工作,移动 SDK 获取图像没有问题,但有些事情发生了变化,我认为更改是在 Facebook 的后端(从我这边更新没有出现),因为配置文件图像的 URL 返回状态代码 404。我创建了一个新的 Facebook 应用程序,如果我使用另一种方式发送请求,例如 GET -> https://graph.facebook.com/ID/picture?height=500&width=500&breaking_change=profile_picture 进行测试,问题就是一样的(也使用带有访问令牌的变体来表示此请求行为是相同的),请求的状态代码为 200,但图像是占位符,移动 SDK 也返回带有 200 状态代码的请求,并且里面的对象具有 URL 的图像,但此 URL 返回状态代码 404,这是此 URL https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=3151471181826271&height=200&width=200&ext=1701276382&hash=AeT5F3GKPwRx5E-c-qU 的一个示例
你能帮我找出问题所在吗?
此外,我使用了这些问题中的信息
Facebook iOS SDK 和 swift:如何获取用户的头像
移动端用于获取图像的代码
facebookManager.logOut()
facebookManager.logIn(permissions: ["public_profile"], from: UIApplication.shared.rootController()) { result, error in
if let error = error {
return
}
let request = GraphRequest(graphPath: "me", parameters: ["fields" : "name, id, picture.type(large)"])
if let result = result {
if !result.isCancelled {
request.start { _, res, _ in
guard let data = res as? [String: Any] else {
return
}
let facebookURL = parceFacebookResponceToImageURL(data: data)
}
}
}
}
fileprivate func parceFacebookResponceToImageURL(data: [String : Any]) -> String? {
var imageUrl: String?
if let profilePicObj = data["picture"] as? [String:Any] {
if let profilePicData = profilePicObj["data"] as? [String:Any] {
if let profilePic = profilePicData["url"] as? String {
print("\(profilePic)")
imageUrl = profilePic
}
}
}
return imageUrl
}
答: 暂无答案
评论