从python脚本使用Google Contacts API的简单方法

乌拉尔

我目前正在尝试编写脚本,因此需要访问我的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章