0
私はfacebookから私のアプリにユーザーの写真を取りたいです。私はグラフAPIフォームを使っています。このパラメータでは、有効なアクセストークンも渡しています。アクティブなアクセストークンを使用して、現在のユーザーに関する情報を照会する必要があります。 Facebook Graph API
しかし、私は取得していますエラー:
"Access-Control-Allow-Origin" = "*";
"Cache-Control" = "no-store";
"Content-Encoding" = gzip;
"Content-Length" = 157;
"Content-Type" = "application/json; charset=UTF-8";
Date = "Mon, 10 Jul 2017 08:01:35 GMT";
Expires = "Sat, 01 Jan 2000 00:00:00 GMT";
Pragma = "no-cache";
Vary = "Accept-Encoding";
"Www-Authenticate" = "OAuth \"Facebook Platform\" \"invalid_request\" \"An active access token must be used to query information about the current user.\"";
コード:
func fetchPhotos(_ accessToken : String)
{
let url = NSURL(string : "https://graph.facebook.com/me/photos")
let request = NSMutableURLRequest(url: url as! URL)
request.httpMethod = "GET"
let params = ["access_token" : accessToken]
do
{
request.httpBody = try JSONSerialization.data(withJSONObject: params, options: [])
}
catch
{
print("Error")
}
let config = URLSessionConfiguration.default
let session = URLSession(configuration: config)
let task = session.dataTask(with: request as URLRequest, completionHandler: {(data, response, error) in
print(response)
});
task.resume()
}
どのように私はaccessTokenを取得しています:あなたがアプリを使用しているよう
func getAccessToken(completion : @escaping (_ atoken : String?) ->())
{
let url = NSURL(string : "https://graph.facebook.com/oauth/access_token?client_id=9621*******9&client_secret=********40a2abeae6****a199&grant_type=client_credentials")
let request = NSMutableURLRequest(url: url as! URL)
let config = URLSessionConfiguration.default
let session = URLSession(configuration: config)
let task = session.dataTask(with: request as URLRequest, completionHandler: {(data, response, error) in
do
{
let resultDict = try JSONSerialization.jsonObject(with: data!, options: .allowFragments)
let accessToken = (resultDict as! [String : String])["access_token"]!
completion(accessToken)
}
catch
{
completion(nil)
}
});
task.resume()
}
私のアクセストークンは、以下の方法で取得しています: 'FBSDKAccessToken.current()。tokenString!' –