[英]OAuth integration with Vimeo using Scribe
我已經能夠使用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");
這失敗了,告訴我簽名無效。
問題是,
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");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.