Я создаю расширение Chrome с аутентификацией Google.Я создал приложение в консоли Google и получил идентификатор клиента.Это включено в manifest.json
файл.Мне нужно получить адрес электронной почты аутентифицированного пользователя.
В скрипте я использовал следующий код для получения данных о пользователе.
chrome.identity.getAuthToken({
interactive: true
}, function(token) {
if (chrome.runtime.lastError) {
alert(chrome.runtime.lastError.message);
return;
}
var x = new XMLHttpRequest();
x.open('GET', 'https://www.googleapis.com/oauth2/v2/userinfo?access_token=' + token+'&alt=json&prettyPrint=true');
x.onload = function() {
console.log(x.response);
};
x.withCredentials = false;
x.send();
});
Я получил ответ как:
{
"id": "108585013132758765",
"name": "Sankar",
"given_name": "Sankar",
"family_name": "Gowri",
"link": "https://plus.google.com/108585013132758765",
"picture": "xxxxxx",
"gender": "male",
"locale": "en"
}
Но я не получил адрес электронной почты в этом ответе.
Если я использую следующий URL, получая ошибку перекрестного источника:
x.open('GET', 'https://www.googleapis.com/auth/userinfo.email?access_token=' + token+'&alt=json&prettyPrint=true');
Как разрешить cors?