0

我正在尝试使用与各种社交媒体服务通信的 NodeJS 设置一个内部 RESTful API。我们使用的服务之一是 Yammer。Yammer 使用 oAuth 进行验证,但它们提供永久验证令牌。出于某种原因,我在尝试发布时遇到了传递令牌的问题。从他们的文档看来,我所要做的就是在 URL 中发布所有内容。一个例子是

POST https://yammer.com/mycompany.com/api/v1/messages.json?body=Testing&access_token=<myAccessToken>

当我这样做时,我没有得到回应。有什么我想念的吗?

我还想补充一点,以这种方式测试 GET 也不起作用

GET https://yammer.com/mycompany.com/api/v1/messages.json?access_token=<myAccessToken>
4

2 回答 2

2

Yammer API要求 OAuth 数据位于标头中。如果您查看他们获取数据的示例,您会看到请求的样子。

获取 /api/v1/messages/favorites_of/1234 HTTP/1.1

主机:www.yammer.com

Authorization: OAuth oauth_consumer_key="KsTROcNF1Fx3e1PwA",oauth_token="vlVH7A7DOm9wXuHdv58A",oauth_signature_method="PLAINTEXT",oauth_timestamp="1297383841092",oauth_nonce="1047685618",oauth_verifier="E4F8",oauth_signature="yPsEvDnNPIA8xGCFLvMJ73K0DD9ivMpATJeFOSo%26fSFh9UPkHQ6oRwK5OTne33ltnSnbQ9XrAhA72heg"

OAuth 数据在 Authorization 标头中,而不是在 URL 中。唯一在 URL 中有任何 OAuth 数据的时间是在您进行授权时。

于 2011-09-03T21:40:32.630 回答
1

我创建了这个要点,我使用 Yammer API 在通过 Fabric 构建完成后发布状态。它在 Python 中,但它可能会为您指明正确的方向。

我假设您获得了正确的访问令牌,因为这很关键。

我建议使用这个库来获取访问令牌,因为它非常简单易用。这将确保您拥有正确的访问令牌。

于 2011-09-03T22:55:06.237 回答