首页 > 解决方案 > 从 Twitter oAuth API 请求令牌时出现 215 错误

问题描述

我正在尝试在我的 NodeJS 应用程序中实现 Twitter 登录。

根据 Twitter 的文档,我需要通过 POST 请求将以下参数传递给该 url。 网址:

https://api.twitter.com/oauth/request_token

参数:

 oauth_nonce=, 
 oauth_signature=, 
 oauth_callback="http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback", 
 oauth_signature_method="HMAC-SHA1",       
 oauth_timestamp="currentTimestamp", 
 oauth_consumer_key=“myKEY”, 
 oauth_version="1.0"

我正在为oauth_nonce参数传递一个随机字符串。我不清楚如何创建一个oauth_signature

每当我发出 POST 请求时,我都会不断收到 215 错误,因为我猜的oauth_nonceoauth_signature不正确。

在 NodeJS 中发出请求时如何生成oauth_nonce和值。oauth_signature

标签: node.jstwittertwitter-oauth

解决方案


这些参数需要在您的授权标头中传递:

OAuth oauth_nonce="K7ny27JTpKVsTgdyLdDfmQQWVLERj2zAK5BslRsqyw", 
oauth_callback="http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback", 
oauth_signature_method="HMAC-SHA1", 
oauth_timestamp="1300228849", 
oauth_consumer_key="OqEqJeafRSF11jBMStrZz", 
oauth_signature="Pc%2BMLdv028fxCErFyi8KXFM%2BddU%3D", 
oauth_version="1.0"

但在此之前,您需要获得一个签名,然后它将为您提供上述所有参数。在此处查看文档

建议使用 3rd 方库,如passport,如果需要,它可以大大简化此过程。


推荐阅读