2011-12-15 16 views
5

Vimeo'dan Scribe API kullanarak bir erişim belirteci başarıyla elde edebildim. Ancak, korunan bir kaynağa erişmeye çalıştığımda geçersiz bir imza hatası alıyorum. Bir erişim korumalı kaynak denemek için kullanmak Benim OAuthService, şöyle görünür: SonraVimeo kullanarak Vimeo ile tümleştirme Scribe

OAuthService service = new ServiceBuilder() 
    .provider(VimeoApi.class) 
    .apiKey(APIKEY) 
    .apiSecret(API_SECRET) 
    .signatureType(SignatureType.QueryString) 
    .build(); 

, ben bir istek yaparak para aşağıdadır:

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

Bu başarısız olur ve imzanın geçersiz olduğunu söyle .

+1

yöntem param imzanın parçası olacak Çünkü tüm OAuth parametreleri sıralanır, kodlanır ve temel dizeye eklenir. İmzanın bir parçası olmadığını nereden biliyorsun? –

+0

@Pablo Haklısınız! BaseStringExtractImpl kullandım ve parametreyi gördüm. Teşekkürler dostum. İmzamın neden geçersiz olduğunu söylediğinden emin değilim, herhangi bir fikrin var mı? – stevebot

+0

@Pablo Bunun çalışmadığı bana mantıklı gelmiyor. Geçerli tüm parametreleri Scribe’e aktarıyorum. – stevebot

cevap

3

sorun,

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

Scribe sonra imza oluşturmak için kullanılan temel dizesine bu parametreyi ilave edildi. Vimeo, GET yaptığımı ve method parametresinin istek gövdesinde olduğunu ve sorgu dizesi olmadığını gördüğünden, bu dizeyi temel dizeye dahil etmediğini gördü. Bu nedenle, beklenen Vimeo'nun yarattığı tek bir Scribe'den farklıydı. Ben sorgu dizesi Bu parametreyi geçirerek gerektiğini bu yüzden ancak bir GET yapıyorum

,

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

Bu gibi işler olur:

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

Oops. Cevabı bulduğunuz harika! +1 –

İlgili konular