我有一个用于获取Google Adx卖家交换信息的API。我的问题是我想把它放到一个AWS lambda中,每天自动播种一个数据库,事情是访问令牌过期,一旦它过期,那么我将无法访问api。我不能让我的客户不断重新登录,以便他们继续获取adx信息。任何关于我能做什么的建议都将不胜感激。我包括我使用的脚本,但这真的不重要我不相信。
import sys
from apiclient import sample_tools
from oauth2client import client
def main(argv):
# Authenticate and construct service.
service, _ = sample_tools.init(
argv, 'adexchangeseller', 'v2.0', __doc__, __file__,
scope='https://www.googleapis.com/auth/adexchange.seller.readonly')
try:
# Retrieve report.
result = service.accounts().reports().generate(
accountId='myaccount',
startDate='today-6d', endDate='today',
metric=['AD_REQUESTS', 'CLICKS'],
dimension=['DATE', 'WINNING_BID_RULE_NAME'],
sort=['+DATE']).execute()
# Display headers.
for header in result['headers']:
print '%25s' % header['name'],
print
# Display results.
for row in result['rows']:
for column in row:
print '%25s' % column,
print
# Display totals
for total in result['totals']:
print '%25s' % total,
print
except client.AccessTokenRefreshError:
print ('The credentials have been revoked or expired, please re-run
the '
'application to re-authorize')
if __name__ == '__main__':
main(sys.argv)
我也是python的新手。所以这似乎也是我们想要的。但我正在等待客户端Adx凭据,所以不是100%肯定。我只想知道如何绕过令牌到期,或者有人有建议。
答案 0 :(得分:0)
使用Google的API执行服务器到服务器的互动时,请使用Service Account Authentication,这意味着您无需刷新令牌。
Here是有关如何正确设置的指南。