То, что вы хотите сделать, невозможно с помощью API GMAIL или любого другого API Google
Вы не можете взять адрес электронной почты Google и выполнить поиск изображения или любого другого личного профиля.информация, связанная с этим адресом электронной почты через любую конечную точку API Google.Объяснение ниже.
Получить изображение отправителя электронного письма
API Gmail перечисляет сообщения электронной почты, которые были отправлены пользователю и пользователем.API gmail в основном возвращает ответ на сообщение электронной почты почтового сервера в формате MIME, который, если вы отметите, не содержит изображение профиля. не возвращает вам изображение отправителя или получателя.
У Google нет конечной точки, которую разработчики могли бы использовать для поиска по адресу электронной почты gmail.com и возврата любого пользователяинформация профиля (включая изображение), это будет против конфиденциальности пользователей.Пользователь должен предоставить вам разрешение на просмотр своего изображения, а у вас нет этого разрешения для каждого пользователя gmail, который может отправлять электронные письма вашему аутентифицированному пользователю.
Веб-сайт gmail, вероятно, выполняет какую-то проверку электронной почты gmail.Адреса и ставит картинку на прилагаемую к аккаунту.Google имеет доступ к данным профиля всех пользователей GMAIL, Google не может предоставить вам такой же доступ, как это было бы против конфиденциальности пользователей.Если это не учетная запись Gmail, они могут проверить Gravatar , чтобы увидеть, было ли настроено изображение для этого адреса электронной почты.Опять же, у вас нет возможности запросить изображение пользователя Google, используя его адрес электронной почты.
- Вы можете проверить Gravatar, чтобы увидеть, был ли он настроен для этого письма
- Если аутентифицированный пользователь добавил этого пользователя в качестве контакта и добавил фотографию для этого пользователя, вы можете использовать People api .
В прошлом я рекомендовал пользователям, что в качестве изображения они берут первую букву адреса электронной почты пользователя и создают изображение, используя это письмо.Вы также можете использовать вопросительный знак, который фактически используется gmail, когда его веб-сайт не может найти электронное письмо от пользователя, возможно, путем проверки Gravatar.
Получить изображение текущего аутентифицированного пользователя
Вы можете получить эту информацию из конечной точки people.get , просто убедитесь, что вы запросили область профиля у пользователя, когдаВы аутентифицируете их
GET https://people.googleapis.com/v1/people/me
Возвращает большой ответ, содержащий информацию о профиле пользователя, часть содержит изображение пользователя
"photos": [
{
"url": "https://lh3.googleusercontent.com/a-/AAuE7mDuIWqXzrrp-65cIhXSD2HjCI8WYsWHR0fDx5_wQPY=s100",
"metadata": {
"source": {
"type": "PROFILE",
"id": "117200475532672775346"
},
"primary": true
}
}
],
Официальный пример проекта для people api содержит информацию о том, как подключиться к API.Просто убедитесь, что вы добавили область 'profile'
Код для получения изображения должен быть примерно таким:
function getPicture() {
gapi.client.people.people.get({
'resourceName': 'people/me',
'pageSize': 10,
'personFields': 'photos',
}).then(function(response) {
var connections = response.result.connections;
appendPre('Connections:');
if (connections.length > 0) {
for (i = 0; i < connections.length; i++) {
var person = connections[i];
if (person.url && person.url.length > 0) {
appendPre(person.names[0].url)
} else {
appendPre("No display name found for connection.");
}
}
} else {
appendPre('No connections found.');
}
});
}