Получение URL-адреса профиля Google+ с помощью user_id - PullRequest
87 голосов
/ 03 февраля 2012

Я знаю, что многие API социальных сетей предоставляют способ создания URL-адреса для изображения профиля пользователя, используя его идентификатор_пользователя или имя пользователя.Для Facebook это выглядит так:

http://graph.facebook.com/user_id/picture?type=square

Теперь есть что-то подобное для Google Plus?Или любой другой способ получить картинку пользователя без вызова API ??

Ответы [ 12 ]

0 голосов
/ 12 марта 2019

Если вы используете Flutter, то вы можете получить к нему доступ через people.googleapis.com конечную точку, код использует google_sign_in library

import 'package:google_sign_in/google_sign_in.dart';

Future<String> getPhotoUrl(GoogleSignInAccount account, String userId) async {
  // final authentication = await account.authentication;
  final url = 'https://people.googleapis.com/v1/people/${userId}?personFields=photos';
  final response = await http.get(
    url,
    headers: await account.authHeaders
  );

  final data = json.decode(response.body);
  return data['photos'].first['url'];
}

Вы получите что-то вроде

{
  resourceName: people/998812322529259873423, 
  etag: %EgQBAzcabcQBAgUH, 
  photos: [{metadata: {primary: true, source: {type: PROFILE, id: 107721622529987673423}}, 
  url: https://lh3.googleusercontent.com/a-/abcdefmB2p1VWxLsNT9WSV0yqwuwo6o2Ba21sh_ra7CnrZ=s100}]
}

где url - доступный URL-адрес изображения.

0 голосов
/ 03 февраля 2012

Простой ответ: Нет

Вам потребуется запросить API пользователя и получить данные профиля image.url , чтобы получить фотографию.AFAIK нет формата по умолчанию для того URL, который содержит идентификатор пользователя.

...