我正在尝试编写一个从 Yammer 中提取数据的小型 web 应用程序。我必须通过 Yammer 的 OAuth 网桥才能访问他们的数据。我尝试使用Oauth php 库并进行 3 次握手。但在最后一步,我收到一条错误消息,指出我的 OAuth 签名无效。
以下是一系列步骤:
第一部分涉及获取请求令牌 URL,这些是我传递的查询参数。
[oauth_version] => 1.0 [oauth_nonce] => 4e495b6a5864f5a0a51fecbca9bf3c4b [oauth_timestamp] => 1256105827 [oauth_consumer_key] => my_consumer_key [oauth_signature_method] => HMAC-SHA1 [oauth_signature] => FML2eacPNH6HIGxJXnhwQUHPeOY=
完成此步骤后,我得到请求 Token 如下:
[oauth_token] => 6aMcbRK5wMqHgZQsdfsd [oauth_token_secret] => ro8AJxZ67sUDoiOTk8sl4V3js0uyof1uPJVB14asdfs [oauth_callback_confirmed] => true
然后,我尝试通过将参数传递给授权 url 来授权给定的令牌和令牌机密。它将我带到 Yammer 的身份验证页面,我允许我的应用程序与 Yammer 对话。
Yammer 然后给了我一个 4 位数的代码,我必须将它放回我的应用程序中,然后它会尝试获取永久访问令牌。我将以下信息传递给访问令牌 URL:
[oauth_version] => 1.0 [oauth_nonce] => 52b22495ecd9eba277c1ce6b97b00fdc [oauth_timestamp] => 1256106815 [oauth_consumer_key] => myconsumerkey [callback_token] => 61A7 [oauth_token] => 6aMcbRK5wMqHgZQsdfsd [oauth_token_secret] => ro8AJxZ67sUDoiOTk8sl4V3js0uyof1uPJVB14asdfs [oauth_callback_confirmed] => true [oauth_signature_method] => HMAC-SHA1 [oauth_signature] => V9YcMDq2rP7OiZTK1k5kb/otMzA=
在这里,我应该收到 Oauth 永久访问令牌,但我得到了Invalid Oauth signature。我不知道我做错了什么。我使用相同的签名来签署请求。我应该使用新的令牌和秘密签署请求吗?我也尝试过,但无济于事。我什至尝试使用signpost库在java中实现这一点,但被困在了完全相同的地方。帮助 帮助!!