gpt4 book ai didi

java - OAuth 使用 Scribe 与 Vimeo 集成

转载 作者:搜寻专家 更新时间:2023-10-31 20:22:47 25 4
gpt4 key购买 nike

我已经能够使用 Scribe API 从 Vimeo 成功获取访问 token 。

但是,当我尝试访问 protected 资源时,出现无效签名错误。我用来尝试访问 protected 资源的 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");

失败并告诉我签名无效。

最佳答案

问题是,

  orequest.addBodyParameter("method", "vimeo.videos.upload.getQuota");

然后,Scribe 将此参数添加到用于形成签名的基本字符串中。 Vimeo 看到我正在执行 GET 并且 method 参数在请求正文中而不是查询字符串中,因此它没有将其包含在基本字符串中。因此,Vimeo 预期的签名与 Scribe 生成的签名不同。

我正在做一个 GET 但是我应该在查询字符串上传递这个参数,

  orequest.addQuerystringParameter("method", "vimeo.videos.upload.getQuota");

这可以正常工作:

  OAuthRequest orequest = new OAuthRequest(Verb.POST, "http://vimeo.com/api/rest/v2");
orequest.addBodyParameter("method", "vimeo.videos.upload.getQuota");

关于java - OAuth 使用 Scribe 与 Vimeo 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8527558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com