我在我的应用中使用swift
我正在尝试使用Alamofire发布与范围(“follower_list + relationships”)的关系(Follow)
注意:我正在使用沙盒用户进行测试
使用此代码
let userid = "testAccount"
let urlString = "https://api.instagram.com/v1/users/\(userid)/relationship?access_token=\(INSTAGRAM_IDS.INSTAGRAM_Token)&action=follow"
Alamofire.request(urlString).responseJSON { response in switch response.result {
case .success(let JSON):
let response = JSON as! NSDictionary
let userModel = response
print("SUCCESS")
print(userModel)
case .failure(let error):
print("ERROR")
print(error)
}
}
并尝试了这个
let userid = "testAccount"
let urlString = "https://api.instagram.com/v1/users/\(userid)/relationship?access_token=\(INSTAGRAM_IDS.INSTAGRAM_Token)"
let parameters: Parameters = ["action": "follow"]
Alamofire.request(urlString, method: .post, parameters: parameters, encoding: URLEncoding.default, headers: nil).responseJSON { response in switch response.result {
case .success(let JSON):
let response = JSON as! NSDictionary
let userModel = response
print("SUCCESS")
print(userModel)
case .failure(let error):
print("ERROR")
print(error)
}
}
但仍然有这个消息??
ERROR responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain = NSCocoaErrorDomain Code = 3840“字符0周围的值无效。”UserInfo = {NSDebugDescription =字符0周围的值无效。})
任何想法?
答案 0 :(得分:1)
如果您尝试发布json,我怀疑您需要使用encoding: JSONEncoding.default
更改编码
JSONEncoding类型创建参数对象的JSON表示,该表示被设置为请求的HTTP主体。已编码请求的Content-Type HTTP头字段设置为application / json。
github上的用法
答案 1 :(得分:0)
我发现了问题....我一直在使用帐户用户名而不是用户ID 有一点不同......我的不好
您可以从(搜索)Endpoint api获取用户ID或使用类似的网站 https://smashballoon.com/instagram-feed/find-instagram-user-id/
您输入了用户名,您将获得ID