【问题标题】:EMBED-API, Google analytics, server-side authorizationEMBED-API、谷歌分析、服务器端授权
【发布时间】:2016-07-14 16:59:22
【问题描述】:

我似乎无法让 EMBED-API 服务器端授权演示工作: https://ga-dev-tools.appspot.com/embed-api/server-side-authorization/

在演示中它说如下:

安装库后,您可以添加以下 python 模块 到您的项目并调用 get_access_token() 方法来获取 可用于授权 Embed API 的访问令牌。

# service-account.py  
from oauth2client.service_account import ServiceAccountCredentials
# The scope for the OAuth2 request.
SCOPE = 'https://www.googleapis.com/auth/analytics.readonly'
# The location of the key file with the key data.
KEY_FILEPATH = 'path/to/json-key.json'
# Defines a method to get an access token from the ServiceAccount object.
def get_access_token():
return ServiceAccountCredentials.from_json_keyfile_name(
KEY_FILEPATH, SCOPE).get_access_token().access_token

我已经成功完成了前面的所有步骤,但是这一步我无法理解。我把这段代码放在哪里?好像应该放在 .py 文件中。

有人可以帮忙吗?

【问题讨论】:

    标签: python google-analytics-api


    【解决方案1】:

    这取决于您的实现,但基本上您希望在您的服务器上运行您的服务帐户代码,并将访问令牌传递给您的客户端应用程序,以便它可以从浏览器发出授权请求。

    整个应用程序是开源的,您可以在source code 中看到服务帐户代码的位置。

    与演示一样,如果您使用的是 django 或应用引擎,很容易将 python 服务器代码放入您的站点,这将返回令牌并替换 template code 中的值。

    【讨论】:

    • 谢谢马特。我只想在我的网站上做一个仪表板:web-tailor.nl/dashboard 这个仪表板现在可以工作了,但我希望它有一个固定的视图而不需要登录。有没有办法实现这个?我有点菜鸟,但我没有服务器。
    • 没有服务器就不可能使用service account。仔细研究各种OAuth 2.0 Scenarios。服务帐户需要一个安全的地方来运行。
    【解决方案2】:

    将该代码添加到 service-account.py 文件中,然后使用 FTP 将其上传到您的服务器上。我使用dreamweaver 保存了代码,更新了路径并在service-account.py 文件的末尾添加了以下行:

    print get_access_token()
    

    在同一目录上传.JSON文件并运行命令python service-account.py得到access_token

    【讨论】:

    猜你喜欢
    • 2019-05-10
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 2017-01-08
    • 1970-01-01
    • 2013-05-21
    相关资源
    最近更新 更多