我没有运气致电Google+ Google+以推动CommentActivity时刻。 我已成功推送AddActivity以及DiscoverActivity。
我在互联网上的某个地方阅读,同时搜索400 HTTP状态表示我的用户凭据无效的解决方案,但我已经能够发布AddActivity&尝试使用CommentActivity后我会尝试断开连接并重新连接我的帐户,并将所需的凭据链接起来无效。
这是我生成片刻的代码,我相信这是错误,它可能与此时刻类型中使用目标和结果有关(DiscoverActivity和AddActivity都没有Result字段)。特别是,Target和Result的URL是相同的,但Result的附加锚。文档暗示这应该可以正常工作。
$moment = new Google_Moment();
$moment->setType("http://schemas.google.com/CommentActivity");
$target = new Google_ItemScope();
$target->setUrl(get_permalink($comment->comment_post_id));
$target->setType("http://schema.org/Article");
$moment->setTarget($target);
$result = new Google_ItemScope();
$result->setId("comment-".$comment_id);
$result->setType("http://schema.org/Comment");
$result->setUrl(get_comment_link($comment_id));
$result->setText($comment->comment_content);
$moment->setResult($result);
Soci_Base::getSocial("google")->getUser($user)->GPlus->moments->insert('me', 'vault', $moment);
GPlus是对Google_PlusService对象的引用。
这是我通过堆栈跟踪收到的异常(文件的无意义部分被省略,hooks.php和plugin.php不是Google+ API)
致命错误:未捕获的异常'Google_ServiceException',并显示错误'错误调用POST https://www.googleapis.com/plus/v1/people/me/moments/vault?key=AIzaSyBa27u5PtBgFHO4SY_Fq9_0sO39pFWrRzE :( 400)无效值'///crc/io/Google_REST.php:66堆栈跟踪: #0 /〜/ G+/src/io/Google_REST.php(36):Google_REST :: decodeHttpResponse(Object(Google_HttpRequest)) #1 /~/G+/src/service/Google_ServiceResource.php(186):Google_REST :: execute(Object(Google_HttpRequest)) #2 /~/G+/src/contrib/Google_PlusService.php(167):Google_ServiceResource-> __ call('insert',Array) #3 /〜/ hooks.php(54):Google_MomentsServiceResource-> insert('me','vault',Object(Google_Moment)) #4 /〜/ plugin.php(406):soci_comment('108040') #5 /〜 /〜/ lib / G + / src /io / Google_REST.php 66
我认为这就是我在这件事上的所有信息 - 我不知道该脚本会得到确切的HTTP请求。 提前感谢您提供任何帮助,甚至看看^ _ ^
以下是整个登录序列的代码:
Soci_Google::addActionRequirement('http://schemas.google.com/AddActivity');
Soci_Google::addActionRequirement('http://schemas.google.com/CommentActivity');
Soci_Google::addActionRequirement('http://schemas.google.com/CreateActivity');
Soci_Google::addActionRequirement('http://schemas.google.com/DiscoverActivity');
Soci_Google :: addActionRequirement:
public static function addActionRequirement($url) {
self::$activities[] = $url;
}
self :: $ token只是对字符串的引用
$ret = new Soci_Google();
self::$users[$id] = $ret;
$ret->setToken(self::$meta->getMeta($user, self::$token));
return $ret;
Soci_Google __construct():
public function __construct() {
$this->googleObj = new Google_Client();
$this->googleObj->setApplicationName(self::$appName);
$this->googleObj->setClientId(self::$clientID);
$this->googleObj->setClientSecret(self::$clientSecret);
$this->googleObj->setRedirectUri(self::$redirectURI);
$this->googleObj->setDeveloperKey(self::$devKey);
$this->GPlus = new Google_PlusService($this->googleObj);
$this->googleObj->setRequestVisibleActions(self::$activities);
}
Soci_Goolge setToken
$this->googleObj->setAccessToken($googleUsrToken);