如何在oauth swift库上传递令牌和令牌秘密
我在lib的git文档中找到了以下代码
// create an instance and retain it
let oauthswift = OAuth1Swift(
consumerKey: "********",
consumerSecret: "********"
)
// do your HTTP request without authorize
oauthswift.client.get("https://api.example.com/foo/bar",
success: { response in
//....
},
failure: { error in
//...
}
)但是除了consumerKey和consumerSecret,我还有token和TokenSecret。所以我可以在oAuthSwift库中传递它。
我尝试了下面的代码
let oauthswift = OAuth1Swift(
consumerKey:"102xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
consumerSecret:"5xxxxxxxxxxxxxxxxxxxxxxxxxxx",
token:"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
tokenSeceret:"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)但它会给出错误“无法使用参数列表调用'OAuth1Swift‘类型的初始化器”这个库中还有另一个可用的初始化器,如下所示
// create an instance and retain it
oauthswift = OAuth1Swift(
consumerKey: "********",
consumerSecret: "********",
requestTokenUrl: "https://api.twitter.com/oauth/request_token",
authorizeUrl: "https://api.twitter.com/oauth/authorize",
accessTokenUrl: "https://api.twitter.com/oauth/access_token"
)
// authorize
let handle = oauthswift.authorize(
withCallbackURL: URL(string: "oauth-swift://oauth-callback/twitter")!,
success: { credential, response, parameters in
print(credential.oauthToken)
print(credential.oauthTokenSecret)
print(parameters["user_id"])
// Do your request
},
failure: { error in
print(error.localizedDescription)
}
)但是我们没有这样的链接来获取token,而是使用已经创建的token和secrete
发布于 2018-01-17 17:09:41
在调用request之前使用以下两行
oauthswift.client.credential.oauth_token = {your stored token}
oauthswift.client.credential.oauth_token_secret = {your stored secret token}即你的代码变成了
// create an instance and retain it
let oauthswift = OAuth1Swift(
consumerKey: "********",
consumerSecret: "********"
)
//Set Token and TokenSecret
oauthswift.client.credential.oauth_token = "asxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
oauthswift.client.credential.oauth_token_secret = "1cxxxxxxxxxxxxxxxxxxxxxxx"
// do your HTTP request
oauthswift.client.get("https://api.example.com/foo/bar",
success: { response in
//....
},
failure: { error in
//...
}
)https://stackoverflow.com/questions/48275331
复制相似问题