域共享联系人 API 使用 python + 服务帐户(客户端库)创建外部联系人
Domain Shared Contacts API to create external contacts using python + service account (client library)
我想使用 Domain Shared Contacts API 作为 python 客户端库的一部分。
我在其他情况下使用的流程:
创建凭据:
credentials = service_account.Credentials.from_service_account_info(....)
'Create' 稍后执行的服务对象
service = googleapiclient.discovery.build(service_name, api_version,credentials=credentials)
在域共享联系人的情况下 API 我不知道 service_name 或 api_version 使用什么 Google API Discovery Service 如果有的话。
是否可以 create/update/remove 使用联系人或人员 API 的域的外部联系人?
如果没有,利用此 API 的过程是在您的代码库 Using OAuth 2.0 for Web Server Applications 中创建对 REST 端点的请求,例如:
https://www.google.com/m8/feeds/contacts/example.com/full
我仅通过使用 域共享联系人 API 设法解决了我的问题
我创建了一个服务帐户。
使用示例 here 准备了授权 (HTTP/REST) API 调用。特别注意额外声明 sub.
因为我正在使用 Python,所以我安装了 pyjwt 并使用它来创建和签署我的 JWT。作为秘密,我使用了 service_account.private_key:
jwt.encode(jwt_claim_set, secret, algorithm="RS256")
然后根据用例(获取联系人、创建一个..)。我为我的请求分配了 Google 令牌(签名的 JWT)。
示例:
endpoint = 'https://www.google.com/m8/feeds/contacts/{}/{}'.format(your_own_domain, projection_value)
headers = {"Authorization": "Bearer " + token}
gsuite_get_response = requests.get(endpoint, headers=headers)
我想使用 Domain Shared Contacts API 作为 python 客户端库的一部分。
我在其他情况下使用的流程: 创建凭据:
credentials = service_account.Credentials.from_service_account_info(....)
'Create' 稍后执行的服务对象
service = googleapiclient.discovery.build(service_name, api_version,credentials=credentials)
在域共享联系人的情况下 API 我不知道 service_name 或 api_version 使用什么 Google API Discovery Service 如果有的话。 是否可以 create/update/remove 使用联系人或人员 API 的域的外部联系人?
如果没有,利用此 API 的过程是在您的代码库 Using OAuth 2.0 for Web Server Applications 中创建对 REST 端点的请求,例如: https://www.google.com/m8/feeds/contacts/example.com/full
我仅通过使用 域共享联系人 API 设法解决了我的问题
我创建了一个服务帐户。
使用示例 here 准备了授权 (HTTP/REST) API 调用。特别注意额外声明 sub.
因为我正在使用 Python,所以我安装了 pyjwt 并使用它来创建和签署我的 JWT。作为秘密,我使用了 service_account.private_key:
jwt.encode(jwt_claim_set, secret, algorithm="RS256")
然后根据用例(获取联系人、创建一个..)。我为我的请求分配了 Google 令牌(签名的 JWT)。
示例:
endpoint = 'https://www.google.com/m8/feeds/contacts/{}/{}'.format(your_own_domain, projection_value)
headers = {"Authorization": "Bearer " + token}
gsuite_get_response = requests.get(endpoint, headers=headers)