【发布时间】:2012-01-21 14:09:14
【问题描述】:
我已经能够使用 Scribe API 从 Vimeo 成功获取访问令牌。
但是,当我尝试访问受保护的资源时,我收到了无效签名错误。我用来尝试访问受保护资源的OAuthService 看起来像:
OAuthService service = new ServiceBuilder()
.provider(VimeoApi.class)
.apiKey(APIKEY)
.apiSecret(API_SECRET)
.signatureType(SignatureType.QueryString)
.build();
然后,我提出以下请求:
OAuthRequest orequest = new OAuthRequest(Verb.GET, "http://vimeo.com/api/rest/v2");
orequest.addBodyParameter("method", "vimeo.videos.upload.getQuota");
这失败了,告诉我签名无效。
【问题讨论】:
-
方法参数将成为签名的一部分,因为所有 OAuth 参数都经过排序、编码并添加到基本字符串中。你怎么知道那不是签名的一部分?
-
@Pablo 你是对的!我使用了 BaseStringExtractImpl 并查看了参数。谢啦。我不知道为什么它告诉我签名无效,你有什么想法吗?
-
@Pablo 这不起作用对我来说没有意义。我似乎将所有有效参数传递给 Scribe。
-
如果可以,请使用 scribe 1.3.0,它有一个全新的
debug方法,您可以使用它进行进一步挖掘。 -
@Pablo 谢谢,我设置了调试,一切看起来都正确。您是否可以使用 scribe 访问 vimeo api 中的受限 uri?