Twitter Rest APisを使用して認証エラーが発生しました。それはポストマンに取り組んでいますが、郵便配達員にはConsumer SecretをAuthorizationに追加するオプションがありますが、私はそのキーをURLRequestにどこに置くべきか分かりません。私は郵便配達時と同じコードスニペットを使用していますが、私のアプリ側で私は正当なエラーの後に直面しています。twitterログインの認証エラー
let requestTokenURL = URL(string:"https://api.twitter.com/oauth/request_token")
let consumerKey = "xxxxxxxxxxxxxxxxxxxxxx"
let consumerSecretKey = "xxxxxxxxxxxxxxxxx"
let signatureMethod = "HMAC-SHA1"
let signature = "hgjhagdAGFSSAJKaqhsugqggqskugkg"
let timestamp = String(Date().timeIntervalSince1970)
let nonce = UUID().uuidString
let version = "1.0"
class TwitterHelper{
func getAuthToken(){
let session = URLSession.shared
let info = [["OAuth oauth_consumer_key":consumerKey],
["oauth_signature_method":signatureMethod],
["oauth_timestamp":timestamp],
["oauth_nonce":nonce],
["oauth_version":"1.0"],
["oauth_signature":signature]
]
var formattedString = ""
for case let authData in info {
for (key,value) in authData{
formattedString += key + "=" + (value) + ","
}
}
let headers = [
"content-type": "application/x-www-form-urlencoded",
"Authorization":formattedString
]
var request = URLRequest(url: requestTokenURL!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
session.dataTask(with: request) { (data, response, error) in
if let parsedData = parseJsonData(data: data){
print(parsedData)
}
}.resume()
}
}
応答:
{
code = 32;
message = "Could not authenticate you.";
}
それは消費者の秘密鍵によるものです。 twitterのドキュメントでは、使用することは定義されていませんが、私がPostman Authorizationで使用するときには動作します。私はヘッダーにその「消費者秘密鍵」を使用する方法を理解していません。