使用 swift 5 登录 Instagram,获取 [ "error_type" : OAuthException, "error_message" : 无效的平台应用程序, "code" : 40



我正在尝试使用新文档使用Instagram登录,并收到类似无效的平台应用程序,"代码":400之类的错误

我使用https://api.instagram.com/oauth/authorize成功获取代码,获得代码后,我调用https://api.instagram.com/oauth/access_token以获取access_token,但它给了我错误。

我正在遵循此文档:https://developers.facebook.com/docs/instagram-basic-display-api/getting-started

请帮我解决这个问题。

提前谢谢。

使用 Instagram AppID、Instagram App Secret 并从收到的代码中删除 #_。然后按照以下格式提出您的发布请求。

let urlString = "https://api.instagram.com/oauth/access_token"
let appendedURI = "client_id=(API.INSTAGRAM_CLIENT_ID)&client_secret=(API.INSTAGRAM_CLIENTSERCRET)&grant_type=authorization_code&redirect_uri=(API.INSTAGRAM_REDIRECT_URI)&code=(code)"
let url = URL(string: urlString)!
let session = URLSession.shared
var request = URLRequest(url: url)
request.httpMethod = "Post"
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField:"Content-Type");
request.cachePolicy = URLRequest.CachePolicy.reloadIgnoringCacheData
request.httpBody = appendedURI.data(using: .utf8)
let task = session.dataTask(with: request) { (data, response, error) in
if error == nil {
let dataString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
print("result=",dataString!)

let task = session.dataTask(with: request) { (data, response, error) in
if error == nil {
let dataString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
print("result=",dataString!)
do {
if let accDetail = try JSONSerialization.jsonObject(with: data!, options: []) as? [String : Any] {
let accessToken = accDetail["access_token"] as! String
let userID = accDetail["user_id"] as! Int64
completion("success", accessToken, userID)
}
}catch let error {

}
}
}
task.resume()

最新更新