не может извлечь токен и секретный недопустимый потребительский писец

Я итальянский студент, и я пытаюсь создать IssueTracker Android для Bitbucket.

Я использую писец, но я заблокирован на 1-м шаге (получить токен запроса)

Я создал свой класс BitbucketApi

@Override
public String getAccessTokenEndpoint() {
    return "https://bitbucket.org/!api/1.0/oauth/access_token";
}

@Override
public String getAuthorizationUrl(Token requestToken) {
    return "https://bitbucket.org/!api/1.0/oauth/authenticate?oauth_token=" +   requestToken.getToken();
}

@Override
public String getRequestTokenEndpoint() {
    return "https://bitbucket.org/!api/1.0/oauth/request_token";
}

и это код части моего потока аутентификации

OAuthService service = new ServiceBuilder()
                            .provider(BitbucketApi.class)
                            .apiKey(MY_API_KEY)
                            .apiSecret(MY_API_SECRET)
                            .build();
requestToken = service.getRequestToken();

но я всегда получаю это исключение после этого метода:

authUrl = service.getAuthorizationUrl(requestToken);

потому что requestToken имеет значение null

Может ли кто-нибудь помочь мне, пожалуйста?


person marco    schedule 09.04.2014    source источник
comment
Вы уверены, что getRequestToken не выдает какое-то исключение/сообщение/...?   -  person njzk2    schedule 09.04.2014
comment
Извините, я не могу создать блок кода в этом комментарии. Однако в моем «doInBackground» у меня есть этот блок try-catch. попробуйте { requestToken = service.getRequestToken(); authUrl = service.getAuthorizationUrl (requestToken); Log.w(req_tkn, requestToken.toString()); Log.w(auth_url, authUrl); } catch (Исключение e) { Log.d(MSG, e.getMessage()); } И тело ответа MSG = неверно. Невозможно извлечь токен и секрет из этого: «недействительный потребитель»   -  person marco    schedule 10.04.2014


Ответы (1)


Вы решили проблему? При попытке получить токен запроса сервер всегда возвращает 400 (не удалось проверить запрос OAuth).

Я внимательно проверил параметр и убедился, что время сервера правильное.. все еще не могу его решить.

[ОБНОВЛЕНО] Наконец-то я понял причину. Я по ошибке поставил пробел перед request_Url; после того, как я удалю пробел, он работает хорошо.

@Override
public String getRequestTokenEndpoint() {
    return "https://bitbucket.org/api/1.0/oauth/request_token";
}
person Stony    schedule 12.01.2015