Python 3.x 我应该选择哪些凭据以及如何选择?

Python 3.x 我应该选择哪些凭据以及如何选择?,python-3.x,google-api,google-oauth,google-api-python-client,Python 3.x,Google Api,Google Oauth,Google Api Python Client,我想在我的Python程序中使用Google驱动API、Sheet API、Gmail API 我跟着第页走。上面说 “创建凭据以使用Google Drive API 启用GoogleDriveAPI后,Google应将您带到项目的GoogleDriveAPI控制台 单击创建凭据。“ 它将创建仅使用驱动器的凭据?我读了很多文档、官方文件、博客、教程等。我是这个主题的初学者,所以也请提供一些细节,因为并非所有内容对我来说都很清楚 有四种类型的凭据,它们用于不同的目的,需要使用不同的代码 用于将托

我想在我的Python程序中使用Google驱动API、Sheet API、Gmail API

我跟着第页走。上面说

创建凭据以使用Google Drive API

启用GoogleDriveAPI后,Google应将您带到项目的GoogleDriveAPI控制台

单击创建凭据。“


它将创建仅使用驱动器的凭据?我读了很多文档、官方文件、博客、教程等。我是这个主题的初学者,所以也请提供一些细节,因为并非所有内容对我来说都很清楚

有四种类型的凭据,它们用于不同的目的,需要使用不同的代码

  • 用于将托管在网站上的应用程序的浏览器凭据。用于访问私人用户数据
  • 用于已安装应用程序的本机凭据(其他)。例如:windows桌面应用程序。用于访问私人用户数据
  • 用于服务器到服务器通信的服务帐户凭据,其中开发人员可以访问将访问API的帐户
  • 移动应用程序
您需要做的第一件事是决定要访问谁的数据。如果希望访问用户数据,则需要使用OAuth2并请求用户访问数据的权限。如果您使用的是静态驱动器帐户,并且只有该帐户和您个人有权设置该帐户,则可以使用服务帐户

浏览器凭据

使用OAuth2请求用户访问其数据的权限。响应将返回到网站

本机凭据

使用OAuth2请求用户访问其数据的权限。响应将返回到发送它的主机

服务帐户凭据

服务帐户是虚拟用户,作为开发人员,我们可以使用它预先授权用户访问。此方法不需要用户登录或同意

注意

您可能只需要创建一种凭证类型。您将需要启用您打算在Google开发者控制台中使用的所有API。(Google Drive API、Sheet API、Gmail API)您应该知道,服务帐户不支持Gmail API,除非您拥有GSuite帐户并可以设置授权

您需要为每种API类型创建一个服务

drive = build('drive', 'v2', credentials=credentials)
sheets = build('sheets', 'v2', credentials=credentials)
gmail = build('gmail', 'v2', credentials=credentials)

有四种类型的凭据,它们用于不同的目的,需要使用不同的代码

  • 用于将托管在网站上的应用程序的浏览器凭据。用于访问私人用户数据
  • 用于已安装应用程序的本机凭据(其他)。例如:windows桌面应用程序。用于访问私人用户数据
  • 用于服务器到服务器通信的服务帐户凭据,其中开发人员可以访问将访问API的帐户
  • 移动应用程序
您需要做的第一件事是决定要访问谁的数据。如果希望访问用户数据,则需要使用OAuth2并请求用户访问数据的权限。如果您使用的是静态驱动器帐户,并且只有该帐户和您个人有权设置该帐户,则可以使用服务帐户

浏览器凭据

使用OAuth2请求用户访问其数据的权限。响应将返回到网站

本机凭据

使用OAuth2请求用户访问其数据的权限。响应将返回到发送它的主机

服务帐户凭据

服务帐户是虚拟用户,作为开发人员,我们可以使用它预先授权用户访问。此方法不需要用户登录或同意

注意

您可能只需要创建一种凭证类型。您将需要启用您打算在Google开发者控制台中使用的所有API。(Google Drive API、Sheet API、Gmail API)您应该知道,服务帐户不支持Gmail API,除非您拥有GSuite帐户并可以设置授权

您需要为每种API类型创建一个服务

drive = build('drive', 'v2', credentials=credentials)
sheets = build('sheets', 'v2', credentials=credentials)
gmail = build('gmail', 'v2', credentials=credentials)

+谢谢。(我不是那么初学者:-)阅读您的答案并重新思考我想要什么,我需要服务帐户凭据(这是我的猜测,但我不确定)。考虑到你的留言,你是对的,我忘了说我想处理我自己的gmail信息。我认为有限制是可能的,Gmail API可以免费使用。是的,但是你不能使用Gmail API的服务帐户,除非你有gusite。您将不得不使用Oauth2。您的其他API可以与服务帐户配合使用。(初学者水平:这是一个非常好的问题,因此我花时间为初学者提供了一些详细的信息,这不是对你的反思)(是的,我认为你的回答确实会帮助其他初学者。)是的,我打算使用Oauth2。身份验证的过程有点复杂。如果我还能帮忙,请告诉我。我不是python开发人员,但很乐意提供帮助。如果答案对你有帮助,也记得接受它。+1谢谢。(我不是那么初学者:-)阅读您的答案并重新思考我想要什么,我需要服务帐户凭据(这是我的猜测,但我不确定)。考虑到你的留言,你是对的,我忘了说我想处理我自己的gmail信息。我认为有限制是可能的,Gmail API可以免费使用。是的,但是你不能使用Gmail API的服务帐户,除非你有gusite。您将不得不使用Oauth2。您的其他API可以与服务帐户配合使用。(初级:这是一个很好的问题,所以我选择了tim