最简单的方法是使用Python Google API进行身份验证,以访问自己的帐户

Dan*_*ler 9 google-api google-authentication headless-browser google-oauth google-api-python-client

主要用例是使用IPython作为我自己的Google帐户的CLI.我真正追求的是在启动IPython shell和实际发出针对API的有用调用之间的大小调整.

使用Google API进行身份验证的文档侧重于设置其他用户将用于访问其数据的应用程序.这导致了一个涉及浏览器的冗长的Oauth舞蹈,以便允许其他用户在不损害其凭证的情况下进行身份验证.但是,我不介意与自己分享我的私人凭证.我不打算分享代码.如果我确实共享了代码,我会使用类似的dotenv方法将凭据与代码分开.

Twitter为开发人员提供了第二组凭据,允许开发人员访问自己的帐户进行测试.因此,可以通过仅提供凭证集来以编程方式访问自己的帐户:允许调用API的开发人员凭证以及授予对开发人员自己的数据的访问权的其他凭证.对于例如:

from twitter import *

t = Twitter(
    auth=OAuth(token, token_key, con_secret, con_secret_key))

# Get your "home" timeline
t.statuses.home_timeline()

# Update your status
t.statuses.update(
    status="Tweeting from Python")
Run Code Online (Sandbox Code Playgroud)

con_secret*开发人员凭据和token*帐户访问凭据在哪里?

  • 如何使用Google API执行同样简单的操作?
  • 我在哪里可以获得访问自己帐户的凭据?
  • 我如何在Google API中使用它们?

举个例子,从我自己的Youtube播放列表中检索内容的最简单的程序是什么?


我可以认为Python无头浏览器库可以给我我需要的东西.我已经在SE Software Recommendations上提出了相关问题 https://softwarerecs.stackexchange.com/questions/35744/python-headless-browser-library-for-oauth2-authentication-from-ipython-console

Jay*_*mon 5

我想下载一组凭据

Google通过它的client_secrets.json文件提供此功能.根据您要使用的帐户类型(Web应用程序,已安装的应用程序,服务帐户),有不同的下载方式.可以在这里找到不同的技术.

在本地存储凭据并继续使用它们,而无需每次调用​​都需要新的凭据

这也不是问题,客户机密在您续订之前有效 - 除非您另有说明,否则A​​FAIK没有自动到期.

下载完成后client_secrets.json,将文件存储在非公共目录中(通常位于项目目录/ config中).

与下载文件类似,根据您使用的帐户类型,有不同的技术(流类)来使用JSON文件.例如,下面将用于安装和Web应用程序;

from oauth2client.client import OAuth2WebServerFlow
...
flow = OAuth2WebServerFlow(client_id='your_client_id',
                           client_secret='your_client_secret',
                           scope='scope URL here',
                           redirect_uri='http://example.com/auth_return')
Run Code Online (Sandbox Code Playgroud)

其他流类示例可以在这里找到

希望这会有所帮助 - 如果您需要更多信息,可以在此处找到官方文档(需要提醒,可能非常不准确和令人困惑)https://developers.google.com/api-client-library/python/guide/aaa_oauth

  • 您是否可以扩展“ _有不同的技术(流类)来使用JSON文件,这取决于您使用的帐户类型_”我主要想从IPython控制台交互使用api。 (2认同)