我目前正在尝试编写脚本,因此需要访问我的GMail联系人才能完成。我尝试了一下,似乎有一些库可以做到这一点,但是有些答案似乎很旧,而另一些则不太清楚。
当前从脚本访问联系人API的正确方法是什么?我假设使用https://github.com/google/gdata-python-client?
最近的任何回应似乎都涉及到用户手动将链接复制到其浏览器中,被重定向到一些不存在的URL,并被要求将该URL复制回脚本中以解析其中的代码。这似乎很荒谬,我是否希望有一种适当的方法来访问非Web应用程序的API?
我将是该脚本的唯一用户,因此,只要我不必手动进行重新身份验证,就可以轻松输入我的完整电子邮件地址和密码,我就不必介意。只想授权一次就可以永久使用。我只是想从电话号码中查找联系人的姓名,所以我什至不需要访问所有内容。
这是我最终使用的:
if arg == "--init":
gflow = OAuth2WebServerFlow(client_id='<ID>', client_secret='<secret>',
scope='https://www.googleapis.com/auth/contacts.readonly',
redirect_uri='http://localhost');
gflow.params['access_type'] = 'offline';
auth_uri = gflow.step1_get_authorize_url();
weechat.prnt("", "Please go to " + auth_uri + " and come back here with the code. Run /gauth code");
else:
credentials = gflow.step2_exchange(arg);
storage.put(credentials);
http = httplib2.Http();
http = credentials.authorize(http);
people = build('people', 'v1', http=http);
可以正常工作。我确实需要手动复制/粘贴URL,然后使代码脱离重定向,但是由于我将access_type置于脱机状态,所以我只需要这样做一次。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句