gpt4 book ai didi

python - 使用 gdata-python-client 和 OAuth2 token 从 Google Contacts API 检索所有(其他)联系人?

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:06 25 4
gpt4 key购买 nike

正在寻找列出 Gmail/GSuite 用户的所有(包括其他)联系人。当前的 People API 不支持此功能,请注意以下线程:

深入研究后发现,Contacts API 似乎仍在运行,并且可以通过 gdata 使用 https://developers.google.com/contacts/v3/

但是,基于以下存储库 ( https://github.com/google/gdata-python-client ),有关使用 OAuth2 实现的文档有限(userIDtokenrefreshToken ),这是当前获取其他联系人列表

的绊脚石

任何帮助将不胜感激,谢谢!

最佳答案

我找到了这个帖子https://gist.github.com/jorilallo/3686737从 7 年前开始(?)。下面的实际示例代码我必须稍作修改才能使其正常工作:

import gdata
import gdata.gauth
import gdata.contacts.client
import json
import requests

GOOGLE_CLIENT_ID = 'GOOGLE_CLIENT_ID' # Provided in the APIs console
GOOGLE_CLIENT_SECRET = 'GOOGLE_CLIENT_SECRET' # Provided in the APIs console
ACCESS_TOKEN = 'ACCESS_TOKEN' # given from a prior OAuth2 workflow, along with userID and refreshToken
REFRESH_TOKEN = 'REFRESH_TOKEN'

# GData with access token
token = gdata.gauth.OAuth2Token(
client_id=GOOGLE_CLIENT_ID,
client_secret=GOOGLE_CLIENT_SECRET,
scope='https://www.google.com/m8/feeds',
user_agent='app.testing',
access_token=ACCESS_TOKEN,
refresh_token=REFRESH_TOKEN)

contact_client = gdata.contacts.client.ContactsClient()
token.authorize(contact_client)

feed = contact_client.GetContacts()

for entry in feed.entry:
entry.title.text
for e in entry.email:
e.address

# JSON with access token
r = requests.get('https://www.google.com/m8/feeds/contacts/default/full?access_token=%s&alt=json&max-results=50&start-index=0' % (access_token))
data = json.loads(r.text)
print data

关于python - 使用 gdata-python-client 和 OAuth2 token 从 Google Contacts API 检索所有(其他)联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54446277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com