Привет, я недавно наткнулся на тот же вопрос. Как пояснил Илан Лалум, Google+ API полностью выведен из эксплуатации для новых проектов.
Я обнаружил, что Google People API работает аналогичным образом. Следующий пример основан на учебнике по книжной полке в GCP. Исходный код можно посмотреть здесь: https://github.com/GoogleCloudPlatform/golang-samples/tree/appengine/go111/cloudsql/getting-started/bookshelf (филиал appengine/go111/cloudsql
)
import people "google.golang.org/api/people/v1"
...
// retrieves the profile of the user associated with the provided OAuth token
func fetchProfile(ctx context.Context, tok *oauth2.Token) (*people.Person, error) {
peopleService, err := people.NewService(ctx, option.WithTokenSource(bookshelf.OAuthConfig.TokenSource(ctx, tok)))
if err != nil {
return nil, err
}
return peopleService.People.Get("people/me").
PersonFields("names,coverPhotos,emailAddresses").
Do()
}
Для этого метода нужен контекст и токен OAuth, как и в случае с API Google+. peopleService
Инициализируется аналогичным образом.
peopleService.People.Get("people/me")
Готовит запрос , который извлекает профиль подключенного пользователя. Затем PersonFields("names,coverPhotos,emailAddresses")
идет фильтр по полям профиля. Эта часть запроса является обязательной. В конце концов Do()
выполнит запрос.