好的,当我尝试收到用户个人资料图片时,图片会返回一个带有问号的白框?
继承我的代码:
func getProfilePic(fid: String) -> SKTexture? {
let imgURL = NSURL(string: "http://graph.facebook.com/" + fid + "/picture?type=large")
let imageData = NSData(contentsOfURL: imgURL!)
let imageUI = UIImage(data: imageData!)
let image = SKTexture(image: imageUI!)
return image
}
func getFBUserData() {
if((FBSDKAccessToken.currentAccessToken()) != nil) {
FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, email, picture"]).startWithCompletionHandler({ (connection, result, error) -> Void in
if (error == nil){
print(result)
if let userData = result as? NSDictionary {
personalUserID = userData["id"] as! String
}
} else {
print("error")
}
})
}
picture.texture = getProfilePic("\(personalUserID)")
如何让它显示正确的图片?
答案 0 :(得分:2)
我猜你的个人资料图片不适用于公众。现在您没有为请求提供访问令牌,因此请求被视为未经授权 - 因此您只能看到公众眼睛看到的内容。
修复它:
php processTextFile.php
此外,您还希望使用func getProfilePic(fid: String) -> SKTexture? {
let imgURL = NSURL(string: "http://graph.facebook.com/" + fid + "/picture?type=large&access_token=" + FBSDKAccessToken.currentAccessToken().tokenString)
let imageData = NSData(contentsOfURL: imgURL!)
let imageUI = UIImage(data: imageData!)
let image = SKTexture(image: imageUI!)
return image
}
和当前的API版本https
来发出请求,否则当Facebook进行更改时,您的代码可能会在任何时候中断。所以,考虑到这一点:
v2.5
这应该可以解决问题。