本软件包包含与Google Analytics通信的有用工具。
项目描述
本软件包包含与Google Analytics通信的有用工具。
内容
主要功能
访问Google API的底层API;
存储Google连接的CMF门户工具;
使用AuthSub令牌在不接触Google凭据的情况下验证Google Analytics的逻辑;
使用Google Analytics数据导出API创建自定义Google Analytics报告的逻辑。
以这种方式创建的Google Analytics报告可以通过组件提供。目前有一个示例在skins文件夹下。
Google API (eea.google.api)
一个提供低级Google连接和通用连接错误GoogleClientError的Python包。要使用此连接,您需要一个AuthBase身份验证令牌。您可以通过调用Google来获取一个:
在您登录到Google Analytics账户后,您将被要求授予yourdomain.com访问分析统计数据的权限。如果您这样做,Google将重定向您的浏览器到提供的next链接,并添加一个请求参数 token=<one-session-authsub-token>,在我们的例子中
http://yourdomain.com/do_something_with_token?token=ADFAFDDKLJH14234__ASDD
由于此令牌明确提供给您,它只能使用一次来查询Google API,因此您需要将其交换为多会话令牌。但是这次您不能从浏览器中进行交换。因此,这里就是eea.google.api的用武之地。
>>> from eea.google.api import Connection >>> google = Connection(token='ADFAFDDKLJH14234__ASDD') >>> new_token = google.token2session()
如果您提供了一个无效的令牌,它将默默地失败并返回一个None对象,否则它将返回一个多会话令牌。现在您已永久连接到Google :)
使用此连接,您可以检查其状态
>>> google.status (200, 'OK')
或进行调用
>>> response = google(scope, data, method='GET')
scope - 您想要访问的Google服务;
data - 查询参数
method - 请求方法:GET或POST
如果某些事情处理不当,这将引发GoogleClientError,否则它将返回一个Google数据馈送响应
>>> response.read() <?xml ...
您还可以通过调用.request方法进行安全请求。如果某些事情处理不当,它将返回一个None对象。
>>> google.request(scope, data, method='GET')
Google工具 (eea.google.tool)
这是一个可以通过CMF方法getToolByName检索的CMF门户工具:这是一个简单的容器,用于Google连接。它提供了一个基本的浏览器界面来添加和删除连接。
>>> from Products.CMFCore.utils import getToolByName >>> tool = getToolByName(portal, 'portal_google')
Google Analytics (eea.google.analytics)
此包提供了用于注册Google Analytics的浏览器界面,并定义了两个存储模型:Analytics和AnalyticsReport。它还提供了一个实用工具,可以轻松访问低级api.Connection,并提供了另一个用于解析Google响应XML的实用工具。
分析
这将存储AuthSub令牌,也是分析报告的容器。它提供了一个基本的浏览器界面来从Google获取令牌和管理报告。
分析报告
一个基于维度、度量、开始日期、结束日期、筛选器和排序顺序的Google Analytics自定义报告。它实际上是Google Analytics API的查询对象。
>>> from zope.component import getMultiAdapter >>> report = tool.analytics.report >>> xml = getMultiAdapter((report, request), 'index.xml')
现在您有一个基于定义的筛选器的自定义XML报告。
连接实用程序
通过使用zope组件轻松访问低级eea.google.api.Connection
>>> from zope.component import getUtility >>> from eea.google.analytics.interfaces import IGoogleAnalyticsConnection >>> utility = getUtility(IGoogleAnalyticsConnection) >>> conn = utility(token='ABCDEFGH__FAH')
XML解析器实用程序
解析Google响应XML
>>> from zope.component import getUtility >>> from eea.google.analytics.interfaces import IXMLParser >>> parse = getUtility(IXMLParser) >>> table = parse(xml)
这里的表是一个(维度、度量)Python生成器
>>> dimensions, metrics = table.next() >>> dimensions {'ga:pagePath': '/some/doc/path', 'ga:browser': 'Firefox'}
>>> metrics {'ga:pageviews': u'34235', 'ga:timeOnPage': '2433.0'}
依赖关系
python2.4+
Plone 2.5.x或Plone 3.x。(如果只使用eea.google.api包,则为可选。)
源代码
- 最新源代码(Plone 4兼容)
- Plone 2和3兼容
版权和许可证
原始代码的初始所有者是欧洲环境署(EEA)。版权所有。
EEA Google(原始代码)是免费软件;您可以在自由软件基金会发布的GNU通用公共许可证的条款下重新分配它或修改它;许可证的第2版,或(根据您的选择)任何较新版本。
- 贡献者:Alin Voinea(Eau de Web),
Antonio De Marinis(欧洲环境署),
更多详细信息请参阅docs/License.txt
资助
EEA - 欧洲环境署(欧盟)
变更日志
5.8 - (2019-01-28)
Jenkins:添加sonarqube步骤 [avoinea refs #101552]
更改:更新指向eea.europa.eu的URL为https:// [alecghica refs #95849]
5.7 - (2017-12-12)
更改:将eeacms/zptlint替换为eeacms/plone-test:4 zptlint [avoinea refs #90415]
5.6 - (2017-11-07)
更改:删除Sphinx生成的文档 [petchesi-iulian refs #88212]
5.5 - (2017-05-22)
更改:修复PyLint警告和错误 [valipod refs #84949]
5.4 - (2017-05-15)
更改:修复PyLint警告和错误 [eduard-fironda refs #84949]
5.3 - (2017-04-24)
更改:更新包信息 [eduard-fironda]
5.2 - (2016-05-19)
错误修复:修复pylint警告 [ichim-david refs #71940]
5.1 - (2015-10-05)
错误修复:将套接字超时设置为防止在xmlrpc调用中使用eventlet时挂起连接 [lucas 引用 #29063]
5.0 - (2015-08-18)
变更:自动包含plone上下文中的zcml,以便使此包在没有在buildout zcml指令中添加它的情况下工作。[avoinea]
4.9 - (2015-03-17)
变更:jenkins构建安装脚本中切换到curl [olimpiurob 引用 #22402]
变更:将jenkins构建安装脚本的fetch URL更改为EEA CPB主存储库中的安装脚本 [olimpiurob 引用 #22402]
4.8 - (2014-01-22)
特性:添加Sphinx生成的文档,格式为页面模板 [batradav 引用 #9502]
错误修复:从README.rst中删除了错误添加的引用块 [ichim-david 引用 #18064]
4.7 - (2013-10-04)
变更:更新了eeagoogle的zope导入,以满足Plone 4.1的最小要求 [ichimdav 引用 #15651]
4.6 - (2013-06-17)
变更:更新了网站设置的链接 [ghicale]
4.5 - (2013-02-04)
错误修复:修复了与2.4 API兼容的问题 [batradav 引用 #9551]
4.4 - (2012-07-13)
错误修复:修复了.pt文件中缺失的i18n标签 [prospchr 引用 #5160]
4.3 - (2012-06-12)
错误修复:修复了HISTORY.txt文件的标记 [ciobabog 引用 #5231]
4.2 - (2012-02-06)
无更改
4.0 - (2011-11-07)
清理:pylint和pyflakes警告 [ichimdav #4140, #4141]
特性:添加了升级步骤 [voineali #4392]
特性:Plone 4.x兼容版本 [ghicaale #4212]
1.2 (2010-02-24)
错误修复:修复了恶臭的egg [ghicale]
1.1 (2010-02-24)
错误修复:修复了编辑模式中的布局 [voineali #2685]
1.0 (2009-11-09)
初始版本 [voineali]
项目详情
eeagoogle-5.8.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e795fa841a23fa9f859b2fccf3feda28e9ce47e54ab61dc1ef67e6613eb2ba97 |
|
MD5 | 544e90cc18b71b6e44c5febc04a22fe9 |
|
BLAKE2b-256 | 3d4aa6780323970d18fc2603d2e90634beed88c839595d72d6e61f9d67b88e6f |