То, что вы хотите сделать, невозможно с помощью 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, чтобы узнать, был ли он настроен для этого письма.
- Если аутентифицированный пользователь добавил этого пользователя в качестве контакта и добавил изображение для этого пользователя, вы можете использовать API пользователей.
В прошлом я рекомендовал пользователям, чтобы в качестве изображения они брали первую букву адреса электронной почты пользователя и создавали изображение, используя эту букву. Вы также можете использовать вопросительный знак, который на самом деле делает gmail, когда его веб-сайт не может найти электронное письмо от пользователя, возможно, проверив Gravatar.
![введите описание изображения здесь](https://i.stack.imgur.com/vHK9W.png)
Получить образ текущего аутентифицированного пользователя
Вы можете получить эту информацию из конечной точки 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
}
}
],
Официальный образец проекта для API для людей содержит информацию о том, как подключиться к API. Просто не забудьте добавить область «профиль»
Код для получения изображения должен быть примерно таким.
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.');
}
});
}
person
DaImTo
schedule
12.02.2019