使用cron作业报告API-Google应用程序引擎python

使用cron作业报告API-Google应用程序引擎python,python,google-app-engine,google-reporting-api,Python,Google App Engine,Google Reporting Api,我正在尝试连接到reporting api,以获取一些域用户电子邮件使用率的数据。我想每天把它作为一个cron工作来做,所以我需要一些方法来认证为域的管理员,而不需要任何管理员交互 现在我使用管理员密码和如下登录 url = 'https://www.google.com/hosted/services/v1.0/reports/ReportingData' url_login='https://www.google.com/accounts/Clientlogin' auth_reques

我正在尝试连接到reporting api,以获取一些域用户电子邮件使用率的数据。我想每天把它作为一个cron工作来做,所以我需要一些方法来认证为域的管理员,而不需要任何管理员交互

现在我使用管理员密码和如下登录

url = 'https://www.google.com/hosted/services/v1.0/reports/ReportingData'

url_login='https://www.google.com/accounts/Clientlogin'

auth_request = urllib.urlencode({'accountType': 'HOSTED','Email': _ADMIN,'Passwd': _PASSW})

login = doPost(url_login, auth_request)


for line in login.split('\n'):    

    array = line.split('=',2)   

    if array[0]=='SID':   

        token = array[1]

_REQUEST_TEMPLATE = ('<?xml version="1.0" encoding="UTF-8"?>\n'    

        '<rest xmlns="google:accounts:rest:protocol"\n'    

        'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\n'    

        '  <type>%(type)s</type>\n'

    '  <token>%(token)s</token>\n'

        '  <domain>%(domain)s</domain>\n'

        '  <date>%(date)s</date>\n'

        '  <reportType>daily</reportType>\n'

            '  <reportName>%(reportName)s</reportName>\n'

        '</rest>\n')
url='1〕https://www.google.com/hosted/services/v1.0/reports/ReportingData'
url\u登录名https://www.google.com/accounts/Clientlogin'
auth_request=urllib.urlencode({'accountType':'HOSTED','Email':_ADMIN,'Passwd':_PASSW})
login=doPost(url\u登录、身份验证请求)
对于login.split('\n')中的行:
数组=行。拆分('=',2)
如果数组[0]=“SID”:
令牌=数组[1]
_请求\u模板=('\n'
“\n”
“%(类型)s\n”
“%(令牌)s\n”
“%(域)s\n”
“%(日期)s\n”
“每日\n”
“%(报告名)s\n”
“\n”)
但是我不想存储管理员的密码。我曾尝试使用Oatuh 2.0,但似乎我总是需要管理员的交互

是否有任何方法可以使用consumer\u key和consumer\u secret进行此操作??或者其他选择


谢谢

您必须将身份验证要素存储在某个位置—无论是ssl证书授权、cookie授权还是用户/通行证凭据—它们始终必须可供将要使用它们的scpript/程序使用。如果您不想将它们存储在脚本本身中,您可能希望将它们存储在配置文件中,并使脚本从那里读取它们,存储在变量中,并根据需要使用它们。您甚至可以将它们存储在数据库中,但是您必须存储数据库凭据,等等。

而且使用使用者密钥和使用者机密是没有办法的??当然,把它们放在某个地方