0

我在用户个人资料上发布问题(并非所有用户都出错)。

错误代码:400 错误消息:必须由 Google+ 信息页或代表 Google+ 信息页调用此方法。

$options = array( "headers" => array( 'content-type' => 'application/json;' ), "body" => json_encode($activity) );
$httpClient = $this->gplus->client->authorize(); 
$request = $httpClient->post("googleapis.com/plusPages/v2/people/$Id/activities";, $options);
$response = $request->getBody();
$googlePostResponse = $response->getContents();
$googlePostResponse = json_decode($googlePostResponse, TRUE); 
4

1 回答 1

0

您当前使用的代码是 Google Domains api。该错误意味着您当前已通过身份验证的用户无权访问域帐户。确保授予用户访问权限,他们将能够发布到域 google+ 页面 身份验证

笔记:

Google+ API(社交媒体网站)和 Google Domains API (Gsuite) 之间存在差异

google+ api 是只读的,不允许以编程方式将帖子插入 Google+。

身份验证的工作原理

当您使用这些范围验证您的应用程序时

$this->client->addScope('googleapis.com/auth/plus.me'); 
$this->client->addScope('googleapis.com/auth/plus.stream.write'); 
$this->client->addScope('googleapis.com/auth/plus.stream.read'); 
$this->client->addScope('googleapis.com/auth/plus.pages.manage'); 
$this->client->addScope('googleapis.com/auth/plus.media.readwrite');

你问用户我可以代表你做这些事情。但是,如果用户无权执行某项操作,您将无法执行此操作。

必须由 Google+ 信息页或代表 Google+ 信息页调用此方法。

您进行身份验证的用户无权访问业务页面。因此,您的应用程序无法写入业务页面。如果您有 gsuite 帐户,则只能发布到域帐户。如果你没有,那么你不能发布到它。您不能只给他们您的业务页面的 ID,因为他们再次无权写入您的业务页面。

于 2018-02-09T11:45:07.230 回答