5

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

Спасибо!

ответ

2

Да, вы можете использовать Drive API, но вы должны использовать JS-клиент Google, просто укажите область действия, идентификатор клиента, секрет клиента и загрузите js-клиент и вызовите API-вызовы. Но в JavaScript происхождения должен быть ваш хром расширение идентификатор (хром-расширение: // 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); 
} 

и если все OK:

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 {} 
    } 

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

2

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

Это самая большая вещь - получить отпечаток пальца, а затем ключ API.

0

Существует speicial URI, который, что вы могли бы зарегистрироваться:

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

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

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

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

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

Смежные вопросы