안녕하세요, 최근에 같은 문제에 대해 고민했습니다. Ilan Laloum이 설명했듯이 Google+ API는 새로운 프로젝트를 위해 완전히 폐기되었습니다.
Google People API 가 비슷한 방식으로 작동 한다는 것을 알았 습니다. 다음 예는 GCP 의 책장 자습서를 기반으로합니다 . 소스 코드는 여기에서 볼 수 있습니다 : https://github.com/GoogleCloudPlatform/golang-samples/tree/appengine/go111/cloudsql/getting-started/bookshelf (branch 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()
}
이 방법에는 Google+ API와 마찬가지로 컨텍스트와 OAuth 토큰이 필요합니다. 그만큼peopleService
비슷한 방식으로 초기화됩니다.
는 peopleService.People.Get("people/me")
연결된 사용자의 프로필을 가져 오는 쿼리를 준비합니다. 그런 다음 PersonFields("names,coverPhotos,emailAddresses")
프로필 필드에 대한 필터입니다. 요청의이 부분은 필수입니다. 결국 Do()
요청을 실행합니다.