我是Gsuite的管理员。你知道吗
如何通过gmailapi收集邮件-我明白了,一切正常。你知道吗
但与联系人的联系让我陷入了死胡同:
创建了服务帐户
服务帐户的广域设置具有https://www.googleapis.com/auth/contacts的权限。以及其他范围
3.1。当连接到Contacts API时,我得到“请求是一个有效的API密钥。“-为什么?(同一服务帐户可获取所有电子邮件和日历事件…)
3.2. 连接到人员api时:
如果我使用,我只能自己创建帐户(popeple/me)主题为的凭据("myemail@mydomain)
如果简单服务帐户凭据-return“仅支持”people/me“资源。”
问题:
谢谢,对不起,我说英语
范围
等等
优秀代码人员api的示例,它与“我”一起工作,但与其他用户不工作:
class BlaBla():
....
def build_api(self, email, api, api_version, delegate = True):
self.email = email
credentials = service_account.Credentials.from_service_account_file(self.SERVICE_ACCOUNT_FILE, scopes = self.SCOPES)
if delegate:
delegated_credentials = credentials.with_subject(self.email)
self.service = build(api, api_version, credentials=delegated_credentials)
else:
self.service = build(api, api_version, credentials=credentials)
def get_user_contacts(self, email):
self.build_api(email=email, api="people", api_version="v1", delegate = True)
resourceName = "people/me"
connections = self.service.people().connections().list(resourceName=resourceName, pageSize = 10, personFields='names,emailAddresses').execute()
# connections - with my contacts
self.build_api(email=email, api="people", api_version="v1", delegate = False)
resourceName = "people/googleId..."
connections = self.service.people().connections().list(resourceName=resourceName, pageSize = 10, personFields='names,emailAddresses').execute()
# return "Only "people/me" resource is supported."
bla=BlaBla()
bla.get_user_contacts(args.email)
目前没有回答
相关问题 更多 >
编程相关推荐