使用python获取Google App统计信息

时间:2013-10-02 17:40:26

标签: google-app-engine

我正在尝试抓取一些网页内容,以便从我的谷歌应用生成的谷歌appstats获取stastics。请注意,这与google analytics不同。我使用的是python 2.7.5。 我面临的问题是我的请求中的初始Google身份验证。 我有需要从谷歌应用统计数据调用api但我在使用我自己的谷歌appengine帐户凭据时,我一直得到一个拒绝回复。这会导致重定向到accounts.google.com页面。 在没有成功登录accounts.google.com的情况下,我尝试了几种不同的方法。

有人对此有任何想法吗? 更有帮助的是,如果你能指出一些好的参考资料

由于

1 个答案:

答案 0 :(得分:2)

此代码示例将允许您获取受Google登录保护的/安全页面的内容。不要忘记设置电子邮件,密码和应用程​​序ID。然后,您可以使用此开启器获取其他受保护的页面。

import urllib
import urllib2
import cookielib
import logging

EMAIL = ''
PASSWORD = ''
APPID = 'YOURAPPID'

# Setup to be able to get the needed cookies that GAE returns
cookiejar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
urllib2.install_opener(opener)

# This is the setup to construct the login URL for authentication.
authreq_data = urllib.urlencode({'Email': EMAIL,
                                 'Passwd': PASSWORD,
                                 'service': 'ah',
                                 'source': '',
                                 'accountType': 'HOSTED_OR_GOOGLE'})

# Get an AuthToken from Google Accounts
auth_req = urllib2.Request('https://www.google.com/accounts/ClientLogin',
                            data=authreq_data)
try:
  auth_resp = opener.open(auth_req)
  logging.info('Successful authorization as %s' % EMAIL)
except urllib2.HTTPError:
  logging.warning('Authorization as %s failed. '
                  'Please, check your email and password' % EMAIL)

auth_resp_body = auth_resp.read()
auth_resp_dict = dict(x.split('=')
                      for x in auth_resp_body.split('\n') if x)
authtoken = auth_resp_dict['Auth']

authreq_data = urllib.urlencode({'continue': 'http://%s.appspot.com/secure' % APPID,
                                 'auth': authtoken})
login_uri = ('http://%s.appspot.com/_ah/login?%s' % (APPID, authreq_data))

# Do the actual login and getting the cookies.
print opener.open(urllib2.Request(login_uri)).read()