Разработать расширение Chrome без URI перенаправления

Я разрабатываю расширение Chrome, которое представляет собой разветвленную программу с открытым исходным кодом на Github.com. Для расширения требуется API Google Диска, для которого требуется идентификатор клиента OAuth 2.0. Однако во время создания идентификатора клиента от меня требуется указать URI перенаправления, но у меня нет домена перенаправления. Означает ли это, что я не могу использовать API Google Диска или есть обходной путь?

Спасибо!


person chaohuang    schedule 25.02.2013    source источник


Ответы (3)


Да, вы можете использовать Drive API, но вы должны использовать клиент Google JS, просто укажите область действия, идентификатор клиента, секрет клиента, загрузите клиент js и выполните вызовы API. Но в источнике JavaScript должен быть ваш идентификатор расширения Chrome (chrome-extension://abcdefghijklmnopqrstuvwxyx)

ниже функции могут быть удобны для вас

// on client load call this function
var handleClientLoadAuto = function () {

    gapi.client.setApiKey(apiKey);
    window.setTimeout(checkAuthAuto, 1);
}

и

var checkAuthAuto = function () {
    gapi.auth.authorize({
        client_id: clientId,
        scope: 'scope here',
        immediate: true
    }, handleAuthResultAuto);
}

и если все в порядке:

var handleAuthResultAuto = function (authResult) {

    if (authResult && !authResult.error) {
        //do call to drive api using 
        gapi.client.load('drive', 'v2', function () {

                var request = gapi.client.drive.files.list(params);
                request.execute(function (resp) {
                    if (resp && resp.error) {
                        //call to error callback function
                        //handleError(resp);
                    } else {
                        //ok response
                    }

                });
            }
        } else {}
    }

Но чтобы использовать это, вы должны войти в систему, иначе авторизация не будет обнаружена.

person Jaffar Hussain    schedule 01.03.2013

Вы можете просто использовать: http://localhost все должно быть в порядке.

Самое главное — получить отпечаток пальца, а затем API-ключ.

person Jane Doh    schedule 25.02.2013

Существует специальный URI, который вы можете зарегистрировать:

https://<extension-id>.chromiumapp.org/<anything-here>

Браузер поймает перенаправление и активирует ваш код вместо того, чтобы действительно перейти к URL-адресу.

Пожалуйста, смотрите более подробную информацию здесь:

https://developer.chrome.com/apps/app_identity#register_provider

Обратите внимание, что в этом случае ваш идентификатор расширения должен быть фиксированным.

person Walty Yeung    schedule 15.08.2015