我正在尝试使用 API 在 google+ 中发布片刻,创建一个简单的示例,但出现 401 错误。我正在关注https://plus.google.com/+SilvanoLuciani/posts/2kMX9Dzaf8V中的 Silvano Luciani 步骤,为了发布片刻,我已经:
从这里下载了最后一个库 0.6.1:https ://code.google.com/p/google-api-php-client/downloads/list
从 Silvano Luciani 下载的示例:https ://gist.github.com/silvolu/5054214
使用我的 G+ 应用程序中的所有数据配置示例文件
这直接不起作用,在示例中,在第 16 行,要求一个类Google_PlusService,它不存在,所以我将它更改为类Google_PlusMomentsService。
随着更改,它发布到类似于“plus/v1moments/people/”的 URL并显示 404 错误。所以,我修改了src/contrib/Google_PlusMomentsService.php中的 URL ,第 73 行从"plus/v1moments/people" => 到"plus/v1/people"。
之后,它显示它需要setRequestVisibleActions才能工作,我意识到 Google 客户端没有该方法,所以我从 Google 存储库中获取最后一个 Google_client:https ://code.google.com/p/google- api-php-client/source/detail?r=534
好的,现在,它可以工作了,但它显示 401 错误,我不知道该怎么做。
错误是:
调用 POST https://www.googleapis.com/plus/v1/people/me/moments/vault?key=XXXXXXXXXXXXXXX时出错:(401) 在 C:\wamp\www\gPlus\src\io\Google_REST.php 中未授权在第 66 行
其中 XXXXXXXXXX 密钥是我在文件中设置的开发人员密钥。看起来 POST 不包括 URL 中的操作,但我不确定这是否是问题或如何解决它。有没有人知道如何解决它?谢谢!
更新
正如 Luciano 所指出的,我使用的是过时的 google-php-client,因此,正如他所指出的,我已经从 SVN 存储库下载了最后一个代码。但是在设置配置文件后,在 Moments 中包含来自 Silvano 的时刻示例文件,并在 Google 控制台和配置文件中配置 API 重定向 URL,/examples 文件夹中的示例不起作用。执行 Silvano PHP 示例会引发“不可用”错误:
Esta página web no está disponible Es posible que la página web https://accounts.google.com/o/oauth2/auth?response_type=code&redirect_uri=http%3A%2F%2Flocalhost%2FgplusAPI%2Fexamples%2Fmoments%2Findex.php&client_id= xxxxxxxx.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.login&access_type=offline&approval_prompt=force&request_visible_actions=http%3A%2F%2Fschemas.google.com%2FAddActivity+http%3A%2F% 2Fschemas.google.com%2FReviewActivity esté temporalmente inactiva o que se haya trasladado definitivamente a otra dirección。错误 15 (net::ERR_SOCKET_NOT_CONNECTED):错误 deconocido。
但库中的其他示例也存在相同的错误。时间问题,还是图书馆问题?
更新 2
是的,是浏览器的问题。它仍然出现在 Chrome 中,但使用 Firefox 就像一个魅力,它不再出现 401 错误,这很好,XD
现在,我有另一个问题,它返回一个数组,但它没有在流中发布任何内容。西尔瓦诺,这正常吗?无论如何,非常感谢您的帮助,我的主要问题得到了解答,完成流发布又少了一步,XD!
数组是:
Array (
[kind] => plus#moment
[type] => http://schemas.google.com/AddActivity
[target] => Array (
[kind] => plus#itemScope
[url] => https://developers.google.com/+/plugins/snippet/examples/thing
)
[result] => Array (
[kind] => plus#itemScope
)
[id] => xxxxxxxxx
)
更新 3
好的,看起来为了防止垃圾邮件,他们不允许直接在流上发布。有关更多信息,请参阅此问题的答案: