栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

服务应用程序和Google Analytics API V3:服务器到服务器的OAuth2身份验证?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

服务应用程序和Google Analytics API V3:服务器到服务器的OAuth2身份验证?

更新2012年7月21日

Google Analytics API V3现在支持由.p12签名的JWT请求返回的OAuth2令牌。也就是说,
我们现在可以使用带有服务帐户的Analytics API

目前仅提取4年的每日数据, 仅此而已。

这是一个快速的’n’肮脏的逐步说明:

  1. 转到Google API控制台并创建一个新应用

  2. 在“ 服务” 标签中,翻转 Google Analytics(分析) 开关

  3. 在“ API访问” 选项卡中,单击“ 创建OAuth2.0客户端ID”

    • 输入您的姓名,上传徽标,然后单击 下一步

    • 选择 服务帐户 选项,然后按 创建客户ID

    • 下载您的私钥

  4. 现在,您回到“ API访问” 页面。您会看到名为“ 服务帐户” 的部分,其中包含 客户ID电子邮件地址

    • 复制电子邮件地址(类似 ####@developer.gserviceaccount.com

    • 访问您的GA管理员, 并将此电子邮件作为用户添加到您的媒体资源中

    • 这是必须的;否则,您将得到隐秘的错误。

  5. 通过Github 获取最新的Google PHP客户端API

    git submodule add https://github.com/google/google-api-php-client.git google-api-php-client-read-only
  6. 摇滚乐(感谢所有人提供有关更新的班级名称的提示):

// api dependenciesrequire_once(PATH_TO_API . 'Google/Client.php');require_once(PATH_TO_API . 'Google/Service/Analytics.php');// create client object and set app name$client = new Google_Client();$client->setApplicationName(APP_NAME); // name of your app// set assertion credentials$client->setAssertionCredentials(new Google_Auth_AssertionCredentials(APP_EMAIL, // email you added to GAarray('https://www.googleapis.com/auth/analytics.readonly'),file_get_contents(PATH_TO_PRIVATE_KEY_FILE)  // keyfile you downloaded));// other settings$client->setClientId(CLIENT_ID);// from API console$client->setAccessType('offline_access');  // this may be unnecessary?// create service and get data$service = new Google_Service_Analytics($client);$service->data_ga->get($ids, $startDate, $endDate, $metrics, $optParams);

下面的原始解决方法


看来,尽管文档含糊不清,但大多数Google
API仍不支持服务帐户,包括Google
Analytics(分析)。它们无法消化由.p12签名的JWT请求返回的OAuth2令牌。因此,截至目前,您 不能将Google
Analytics(分析)API V3与服务帐户一起使用

解决方法:

  1. 在Google API控制台中,创建一个
    客户端 应用程序。

  2. 请按照下列步骤谷歌PHP客户端API的例子来生成

    client_auth_url
    使用
    client_id
    client_secret
    redirect_uri

  3. 使用cURL
    登录到Google。(请务必使用cookie文件!)

  4. client_auth_url
    在cURL中打开并填写表格。请确保您设置
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($ch, CURLOPT_HEADER, 1);

    authorization_pre
    将在
    Location:
    响应的头。

5.用你的

client_id
client_secret
redirect_uri
从第4步,激活代码,发布到请求谷歌的的OAuth2令牌机。确保您包含
grant_type= "authorization_pre"
在您的帖子字段中。

6.您现在有一个

refresh_token
永不过期的工作台
access_token
!发布到请求谷歌的的OAuth2令牌机与你
client_id
client_secret
redirect_uri
,和
refresh_token
当你的
access_token
到期,你会得到一个新的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/421684.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号