Hai Saya baru-baru ini tersandung masalah yang sama. Seperti dijelaskan oleh Ilan Laloum, Google+ API telah dinonaktifkan sepenuhnya untuk proyek-proyek baru.
Saya menemukan bahwa Google People API bekerja dengan cara yang sama. Contoh berikut didasarkan pada tutorial Rak Buku di GCP. Kode sumber dapat dilihat di sini: 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()
}
Metode ini membutuhkan konteks dan token OAuth, sama seperti Google+ API dulu. Ini peopleService
diinisialisasi dengan cara yang sama.
The peopleService.People.Get("people/me")
mempersiapkan query yang mengambil profil pengguna terhubung. Kemudian PersonFields("names,coverPhotos,emailAddresses")
filter pada bidang profil. Bagian dari permintaan ini adalah wajib. Akhirnya Do()
akan menjalankan permintaan.