我想爲自己構建一個小應用程序(學習目的)爲服務http://quote.fm。他們提供一個oAuth 2.0 Api與一個請求令牌和一個授權URL。如何將Scribe與尚未實現的Api結合使用?
我該如何使用這個API的抄寫員?我在抄寫wiki中發現了this site,但它只解釋瞭如何添加oAuth 1.0a api(?)
有什麼建議嗎?謝謝!
問候,
克里斯
編輯:
試圖執行與DefaultApi20類的API,但我在GetRequestToken
調用,它導致異常現卡:
java.lang.UnsupportedOperationException: Unsupported operation, please use 'getAuthorizationUrl' and redirect your users there OAuthHelper
private OAuthService service;
private Token requestToken;
private String AuthUrl;
public OAuthHelper() {
service = new ServiceBuilder()
.provider(QuoteFmApi.class)
.apiKey("...")
.apiSecret("...")
.callback("quotefmsharetoread://authed")
.build();
}
public void GetRequestToken() {
requestToken = service.getRequestToken();
}
public String GetAuthUrl() {
AuthUrl = service.getAuthorizationUrl(requestToken);
return AuthUrl;
}
個
QuoteFmApi.class:
public class QuoteFmApi extends DefaultApi20 {
private static final String AUTHORIZATION_URL =
"https://quote.fm/labs/authorize?client_id=%s&redirect_uri=%s&scope=%s&response_type=code";
@Override
public String getAuthorizationUrl(OAuthConfig config)
{
return String.format(AUTHORIZATION_URL, config.getApiKey(), config.getCallback(),
config.getScope());
}
@Override
public String getAccessTokenEndpoint()
{
return "https://quote.fm/api/oauth/token";
}
@Override
public AccessTokenExtractor getAccessTokenExtractor()
{
return new JsonTokenExtractor();
}
您可以添加異常的堆棧跟蹤嗎? –
我解決它通過查看:https://github.com/bistri/scribe-java/blob/master/src/test/java/org/scribe/examples/GoogleExample20.java getRequestToken調用實際上已過時。 謝謝! – chrjs