Я знаю, что многие API социальных сетей предоставляют способ создания URL-адреса для изображения профиля пользователя, используя его user_id или имя пользователя. Для Facebook это выглядит так:
http://graph.facebook.com/user_id/picture?type=square
Есть ли что-то подобное для Google Plus? Или любой другой способ получить картинку пользователя без вызова API ??
google-api
google-plus
Арван
источник
источник
Ответы:
Google изменил свою политику, поэтому старый способ получения изображения профиля Google теперь работать не будет.
https://plus.google.com/s2/photos/profile/(user_id)?sz=150
Новый способ сделать это
URL запроса
Это даст URL-адрес изображения профиля Google в формате json, как указано ниже.
Отклик :
Дополнительные параметры можно найти , чтобы отправить с URL , который вам может понадобиться от здесь
Для получения более подробной информации вы также можете проверить данный вопрос, где я ответил на проблему такого же типа. Как получить изображение пользователя через идентификатор пользователя в Google Plus?
источник
<img>
теге.../-OkM...AANA/ltpH...as/photo.jpg?sz=512
ОБНОВЛЕНИЕ: приведенный ниже метод НЕ РАБОТАЕТ с 2015 года.
Можно получить изображение профиля и даже установить его размер:
Пример: изображение моего профиля с размером 100 пикселей:
Использование с тегом изображения:
Надеюсь, у вас это сработает!
источник
ОБНОВЛЕНИЕ: Google прекратил поддержку этого метода, теперь он возвращает ошибку 404 (не найдено) .
Все эти URL-адреса получают изображение профиля пользователя:
Они перенаправляют на тот же URL-адрес изображения, который вы получаете из Google API, уродливая ссылка как
lh6.googleusercontent.com/-x1W2-XNKA-A/AAAAAAAAAAI/AAAAAAAAAAA/ooSNulbLz8U/photo.jpg
Самый простой - напрямую использовать как источник изображения:
В противном случае, чтобы получить точно такой же URL-адрес вызова Google API, вы можете прочитать заголовки изображений,
например, в PHP:
как описано в статье Получение изображения профиля Google Plus с помощью PHP .
источник
Подход 1: (больше не работает)
Подход 2: (каждый запрос учитывается в ваших ограничениях скорости API, что составляет 10 тыс. Запросов в день бесплатно)
со следующим форматом ответа:
Подход 3: (не требуется ключ api)
в ответе json вы получите свойство с именем "gphoto $ thumbnail", которое содержит URL-адрес изображения профиля, как показано ниже:
Вы можете заметить в URL-адресе часть «s64-c», что означает, что размер изображения равен 64, я пробовал использовать другие значения, такие как «s100-c», и они работали. Также, если вы удалите часть «s64-c» и добавите параметр «? Sz = 100», это также будет работать на данный момент. Хотя это не очень хороший способ получить изображение профиля пользователя gplus, но преимущество в том, что он не требует никакого ключа api.
источник
Google, API не требуется:
// Пример вывода: https://lh3.googleusercontent.com/-2N6fRg5OFbM/AAAAAAAAAAI/AAAAAAAAADE/2-RmpExH6iU/s64-c/photo.jpg
ИЗМЕНЕНИЕ: 64 в "s64" по размеру
источник
Если вы хотите показать изображение профиля для текущего пользователя, вошедшего в систему, вам даже не нужно знать {user_id}. Достаточно просто использовать
https://plus.google.com/s2/photos/profile/me
.источник
Вы можете получить URL-адрес изображения профиля с помощью метода people.get API Google+. Это требует дополнительного обхода, но это самый надежный способ получить изображение.
Технически вы также можете использовать URL-адрес,
https://s2.googleusercontent.com/s2/photos/profile/{id}?sz={size}
который затем будет перенаправлять на конечный URL-адрес.{id}
- это идентификатор пользователя Google или одно из старых имен пользователей профилей Google (они все еще существуют для пользователей, у которых они были, но я не думаю, что вы больше можете создавать новые).{size}
- желаемый размер фотографии в пикселях. Я почти уверен, что это не документированная и не поддерживаемая функция, поэтому я бы не стал полагаться на нее ни в чем важном, поскольку она может исчезнуть в любое время без предварительного уведомления. Но для быстрых прототипов или небольших разовых приложений этого может быть достаточно.источник
попытка получить доступ к URL-адресу / s2 / profile / photo работает для большинства пользователей, но не для всех.
Единственный метод полной проверки - использовать API Google+. Вам не нужна аутентификация пользователя для запроса данных общедоступного профиля, поэтому это довольно простой метод:
Получите ключ API Google+ на https://cloud.google.com/console
Сделайте простой запрос GET на: https://www.googleapis.com/plus/v1/people/+ <имя пользователя>? Key =
Обратите внимание на + перед именем пользователя. Если вместо этого вы используете идентификаторы пользователей (длинная строка цифр), вам не нужен +
источник
Если вы используете Flutter, вы можете получить к нему доступ через
people.googleapis.com
конечную точку, код используетgoogle_sign_in
библиотекуВы получите что-то вроде
где
url
- доступный URL-адрес изображения.источник
Пробовал все возможное .. вот и последний рабочий код. Надеюсь, это поможет тому, кто его ищет.
источник
2020 Решение Прокомментируйте, если больше не доступно.
Чтобы получить URL профиля от аутентифицированного пользователя.
Отклик:
и ссылку можно использовать как:
источник
https://graph.facebook.com/1661794173890082/picture?width=200&height=200
Простой ответ: нет
Вам нужно будет запросить API человека и взять данные профиля image.url, чтобы получить фотографию. AFAIK нет формата по умолчанию для этого URL-адреса, который содержит идентификатор пользователя.
источник