Goo.gl сокращение ссылок с Scribe - проблемы с аутентификацией

Я пытаюсь использовать сокращение URL с Scribe, основываясь на этом примере.

Однако я хочу убедиться, что могу отслеживать посещения, которые получает мой короткий URL-адрес, а это значит, что он должен быть уникальным. Чтобы создать уникальные ссылки, мне нужно пройти аутентификацию в Google, согласно этому.

Вошел

Ваши ссылки автоматически добавляются в goo.gl, где вы можете отслеживать их использование.

Уникальный короткий URL создается каждый раз, когда длинный URL сокращается.

Выписан

Ваши ссылки не будут отображаться на вашей странице goo.gl.

Один и тот же короткий URL используется повторно каждый раз, когда вы или кто-либо другой сокращает длинный URL-адрес.

В примере oAthRequest не подписан с oAuthService, Я обновил это, чтобы он мог подписать запрос и отправить его (как зарегистрированный пользователь).

Вот мой код:

private static final String API_KEY = "XXXXXXXX";
private static final String API_URL = "https://www.googleapis.com/urlshortener/v1/url";

private static final String API_URL_WITH_KEY = API_URL + "?key=" + API_KEY;

public TrackableLink createTrackableLink(String longUrl) {
    OAuthService oAuthService = new ServiceBuilder()

    //Google Api Provider - Google's URL Shortener API is part of Google Platform APIs
    .provider(GoogleApi.class)

    /*
        Using "anonymous" as API Key & Secret because Google's URL Shortener service
        does not necessarily requires App identification and/or User Information Access
     */
    .apiKey("anonymous")
    .apiSecret("anyonymous")
    //OAuth 2.0 scope for the Google URL Shortener API
    .scope("https://www.googleapis.com/auth/urlshortener")

    //build it!
    .build();

    Token requestToken = oAuthService.getRequestToken();

    OAuthRequest request = new OAuthRequest(Verb.POST, API_URL_WITH_KEY);
    request.addHeader("Content-Type", "application/json");
    request.addPayload(new JSONObject().put(RESPONSE_LONG_URL, longUrl)
            .toString());

    oAuthService.signRequest(requestToken, request);

    Response response = request.send();
    JSONObject json = new JSONObject(response.getBody());
    String shortUrl = json.getString(RESPONSE_SHORT_URL);
    TrackableLink tl = new TrackableLink(longUrl, shortUrl);

    return tl;
}

Я заменяю "анонимные" данные своими значениями с веб-сайта Google API и получаю следующее исключение:

Невозможно извлечь токен и секрет из этого: "Клиент не зарегистрирован: 7629638329XXXXXXXXXXX.apps.googleusercontent.com

Я не уверен, что именно я делаю здесь неправильно. Я перепробовал почти все комбинации значений для ключа / секрета из различных ключей, которые дает мне консоль Google. Может ли это быть вызвано чем-то другим, кроме того, что связано с ключом API?

Любые идеи, почему я получаю потребителю не зарегистрированную ошибку? В моей учетной записи Google я включил API.

0 ответов

Другие вопросы по тегам