使用 gdata-python-client 和 OAuth2 令牌从 Google 联系人 API 检索所有(其他)联系人?
Retrieving all (Other) Contacts from Google Contacts API using gdata-python-client and OAuth2 token?
正在寻找列出 Gmail/GSuite 用户的所有(包括 Other
)联系人。当前 People API
不支持此功能,请注意以下线程:
- 在此处找到此线程,确认 API 中的此类更改:
- Google 团队在此处注明:https://groups.google.com/forum/#!topic/google-contacts-api/iLsrN23xF6g
- 在此处引用票证请求以进行优先排序:https://issuetracker.google.com/issues/36757468
深入研究时,联系人 API 似乎仍在运行,可以通过 gdata
https://developers.google.com/contacts/v3/
使用
但是,基于以下 repo (https://github.com/google/gdata-python-client),关于使用 OAuth2 实施的文档有限 (userID
、token
、refreshToken
),这是当前的绊脚石是获取 Other Contacts
的列表
任何帮助将不胜感激,谢谢!
我发现这个帖子 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
正在寻找列出 Gmail/GSuite 用户的所有(包括 Other
)联系人。当前 People API
不支持此功能,请注意以下线程:
- 在此处找到此线程,确认 API 中的此类更改:
- Google 团队在此处注明:https://groups.google.com/forum/#!topic/google-contacts-api/iLsrN23xF6g
- 在此处引用票证请求以进行优先排序:https://issuetracker.google.com/issues/36757468
深入研究时,联系人 API 似乎仍在运行,可以通过 gdata
https://developers.google.com/contacts/v3/
但是,基于以下 repo (https://github.com/google/gdata-python-client),关于使用 OAuth2 实施的文档有限 (userID
、token
、refreshToken
),这是当前的绊脚石是获取 Other Contacts
任何帮助将不胜感激,谢谢!
我发现这个帖子 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