ado*_*srs 11 facebook facebook-graph-api ios swift
我正在为iOS开发一个用户应该使用facebook登录的应用程序.所以我正在尝试获取用户个人资料图片,但以下代码正在返回"unsupported URL"
FBRequestConnection.startWithGraphPath("\(userID)/picture?type=large&access_token=207613839327374|BgKi3AePtvg1oDO8GTbWqqLE_SM", completionHandler: { (connection, result, error) -> Void in
if (error? != nil){
NSLog("error = \(error)")
}else{
println(result)
}
})
Run Code Online (Sandbox Code Playgroud)
以下更改:
FBRequestConnection.startWithGraphPath("\(userID)/picture?type=large", completionHandler: { (connection, result, error) -> Void in
if (error? != nil){
NSLog("error = \(error)")
}else{
println(result)
}
})
Run Code Online (Sandbox Code Playgroud)
回来了:
error = Error Domain=com.facebook.sdk Code=6 "Response is a non-text MIME type; endpoints that return images and other binary data should be fetched using NSURLRequest and NSURLConnection" UserInfo=0x786d4790
Run Code Online (Sandbox Code Playgroud)
Jor*_*ego 12
你可以这样做:
// accessToken is your Facebook id
func returnUserProfileImage(accessToken: NSString)
{
var userID = accessToken as NSString
var facebookProfileUrl = NSURL(string: "http://graph.facebook.com/\(userID)/picture?type=large")
if let data = NSData(contentsOfURL: facebookProfileUrl!) {
imageProfile.image = UIImage(data: data)
}
}
Run Code Online (Sandbox Code Playgroud)
这是我获取Facebook ID的方式:
func returnUserData()
{
let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: nil)
graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in
if ((error) != nil)
{
// Process error
println("Error: \(error)")
}
else
{
println("fetched user: \(result)")
if let id: NSString = result.valueForKey("id") as? NSString {
println("ID is: \(id)")
self.returnUserProfileImage(id)
} else {
println("ID es null")
}
}
})
}
Run Code Online (Sandbox Code Playgroud)
我使用的是Xcode 6.4和Swift 1.2
use*_*384 10
能够使用此代码获取它:
// Get user profile pic
var fbSession = PFFacebookUtils.session()
var accessToken = fbSession.accessTokenData.accessToken
let url = NSURL(string: "https://graph.facebook.com/me/picture?type=large&return_ssl_resources=1&access_token="+accessToken)
let urlRequest = NSURLRequest(URL: url!)
NSURLConnection.sendAsynchronousRequest(urlRequest, queue: NSOperationQueue.mainQueue()) { (response:NSURLResponse!, data:NSData!, error:NSError!) -> Void in
// Display the image
let image = UIImage(data: data)
self.imgProfile.image = image
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14841 次 |
最近记录: |