问题描述
我的用例是对我当前的业务进行 3-legged 身份验证,以从 Twitter 获取一些印象数据。这些东西在 LinkedIn 上轻而易举,但我在 Twitter 上遇到了第一个障碍,在关注文档和视频后,我在获取访问令牌时仍然遇到“错误的身份验证数据”错误。
我已经截取了回调、消费者密钥和令牌,但消费者密钥是来自我的 Twitter 应用程序的 API 密钥,而令牌是来自相同的访问令牌。下面是json。没有,签名和时间戳我是由邮递员自动生成的。有什么指点吗?
{
"name": "get_access_token","properties": {
"activities": [
{
"name": "Web1","type": "WebActivity","dependsOn": [],"policy": {
"timeout": "7.00:00:00","retry": 0,"retryIntervalInSeconds": 30,"secureOutput": false,"secureInput": false
},"userProperties": [],"typeProperties": {
"url": "https://api.twitter.com/oauth/request_token","method": "GET","headers": {
"OAuth": "oauth_nonce=\"wErUbiAbmCi\",oauth_callback=\"https%3A%2F%2F<snipped>\",oauth_signature_method=\"HMAC-SHA1\",oauth_timestamp=\"1613748394\",oauth_consumer_key=\"<snipped>",oauth_signature=\"hMnZtN5hT5KHRcyrxz8xis33C1c=\",oauth_version=\"1.0\",oauth_token = \"<snipped>\""
}
}
}
],"annotations": []
}
}
解决方法
OAuth 标头需要按字母顺序排序。文档是 here。