我想通过一个只接受REST端点的网关来路由我的Google Analytics Reporting API请求(代码将在AWS Lambda)。因为我不能在与网关的交互中使用客户机包方法,所以我需要将API作为REST-ful端点进行查询。在
官方文件是这样写的(Link):
Authorization: Bearer {oauth2-token}
GET https://www.googleapis.com/analytics/v3/data/ga
?ids=ga:12345
&start-date=2008-10-01
&end-date=2008-10-31
&metrics=ga:sessions,ga:bounces
我不知道在Python中创建oauth2令牌。我已经创建了一个服务帐户,并拥有secrets_json,其中包括客户机id和密钥。 那么这个link中给出的客户端包方法就可以工作了。但我只需要休息法!在
使用这些,如何创建oauth2令牌?在
您可以使用Oauth2来实现这一点,我在过去已经做过了,但是您需要监视它。您将需要授权此代码一次并保存刷新令牌。刷新令牌的寿命很长,通常不会过期,但如果过期,代码应该能够与您联系,以便您可以再次授权它。如果保存刷新令牌,则可以随时使用最后一步请求新的访问令牌。在
Oauth2基本上被构建成三个调用。我可以给你HTTP调用,我会让你计算出PythonGoogle 3 Legged OAuth2 Flow
授权和授权
你首先需要的是用户的权限。在授权服务器上建立一个链接。这是一个httpget请求,您可以将它放在普通浏览器窗口中进行测试。在
关于重定向uri的说明。如果你在服务器上运行这个程序,那么使用
urn:ietf:wg:oauth:2.0:oob
它基本上告诉服务器返回代码的来源。如果你在一个网站上运行,你可以提供一个url到将要处理响应的页面的url。在如果用户接受上述内容,那么您将拥有一个授权代码。在
交换码
接下来需要做的是交换由上述响应返回的授权码,并请求访问令牌和刷新令牌。这是一个http post调用
^{pr2}$body参数应该如我所示,用amp;分隔,请求的内容类型是
application/x-www-form-urlencoded
响应
访问令牌可以在所有对api的请求中使用,方法是使用访问令牌添加授权头承载令牌,或者在请求中发送access_token=作为参数。在
刷新访问令牌
刷新令牌的寿命很长,它们不应该过期,所以您的代码应该能够处理这些问题,但通常它们永远都是好的。访问令牌仅在一小时内有效,您需要请求新的访问令牌。在
回应
相关问题 更多 >
编程相关推荐