我有一个聊天机器人,它使用谷歌服务帐户连接到谷歌人脉API。机器人收到一个事件,其中包含邮件发件人的 Google ID(即 )。我想使用服务帐户查找邮件发件人的姓名和电子邮件地址。1234567890987654321
我认为范围应该允许这样做,并为服务帐户设置域范围的委派。但响应不包括请求的字段,仅填充 Etag 和 ResourceName。https://www.googleapis.com/auth/directory.readonly
我可以更改或配置哪些内容以在 People.使用服务帐户获取呼叫中包含任意目录用户的姓名和电子邮件?
package main
import (
"context"
"log"
"google.golang.org/api/option"
"google.golang.org/api/people/v1"
)
func main() {
// Service account's credentials
apiKeyFile := "credentials.json"
// Google ID of a person within your directory
resourceName := "people/1234567890987654321"
fields := "names,emailAddresses"
ctx := context.Background()
// directory.readonly scope is included by default
s, _ := people.NewService(ctx, option.WithCredentialsFile(apiKeyFile))
pCall := s.People.Get(resourceName)
pCall.PersonFields(fields)
person, _ := pCall.Do()
log.Print(person.Etag)
for _, address := range person.EmailAddresses {
log.Print(address.Value)
}
for _, name := range person.Names {
log.Print(name.DisplayName)
}
}
慕虎7371278
相关分类