gpt4 book ai didi

php - 以 "Service Account"连接到 Google Sites API

转载 作者:行者123 更新时间:2023-12-02 05:26:25 26 4
gpt4 key购买 nike

我正在尝试读取来自 Google 协作平台帐户(Google 应用程序)的提要。我不需要我的应用程序要求每个用户登录,所以我在“Google API 控制台”中将我的 ClientID 创建为“服务帐户”。我已将此客户端 ID 和范围 (https://sites.google.com/feeds/) 添加到我的 Google Apps 控制面板中的“Mange API 客户端访问”页面。

我使用下面的代码连接,所有常量都在我的代码中定义为正确的值。

// api dependencies
require_once(GOOGLE_API_PATH);

// create client object and set app name
$client = new Google_Client();
$client->setApplicationName(GOOGLE_API_NAME);

// set assertion credentials
$client->setAssertionCredentials(

new Google_AssertionCredentials(

GOOGLE_API_EMAIL,
array(GOOGLE_API_SCOPE),
file_get_contents(GOOGLE_API_PK)
));

$client->setClientId(GOOGLE_API_CLIENTID);

// create service

$req = new Google_HttpRequest("https://sites.google.com/feeds/content/<herismydomainname.com>/intranet");
$val = $client->getIo()->authenticatedRequest($req);

// The contacts api only returns XML responses.
$response = json_encode($val->getResponseBody());
print "<pre>" . print_r(json_decode($response, true), true) . "</pre>";

我得到的回复是“无权访问此提要”当我尝试在使用我的谷歌应用程序帐户登录的 OAuth2.0 Playground 中获取此提要时,我得到了预期的响应。我在这里忽略了什么?

最佳答案

目前不能同时使用服务帐户和 Google 协作平台。 Google Apps 提供了一个消费者 secret ,可用于在 OAuth 1.0a 中作为两足式 OAuth 跨您的域访问数据。

查看 http://support.google.com/a/bin/answer.py?hl=en&answer=162105有关如何配置您的 Apps 帐户的信息,以及位于 https://developers.google.com/gdata/docs/auth/oauth#2LeggedOAuth 的示例代码.

关于php - 以 "Service Account"连接到 Google Sites API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13009120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com