我创建了一个活动json,如下所示并发布到google plus moments api
var activity = { “type”:“http://schemas.google.com/AddActivity”, “目标”:{ “url”:“http://www.qontext.com” }};
POST成功但是时刻没有显示历史记录。身份验证得到了解决。 示例url工作正常。有人可以帮忙。
答案 0 :(得分:2)
只要提供的目标网址未返回(html)包含所需元数据(http://schema.org/Thing)的内容,您插入的元素就不会显示在Google+历史记录中(无论是否响应将是HTTP 200或不是。)
在请求正文中提供元数据(作为“结果”JSON)也不起作用。因此,您必须确保目标网址将返回包含您要发布的数据的HTML。
E.g。这可以通过这样一个简单的PHP脚本来完成:
<?php
$name = $_GET["name"];
$desc = $_GET["desc"];
echo('
<!DOCTYPE html>
<html>
<head>
<title>emacberry DATA</title>
</head>
<body itemscope itemtype="http://schema.org/Thing">
<section>Name: <div itemprop="name">'.$name.'</div></section>
<section>Description: <div itemprop="description">'.$desc.'</div></section>
<section>
Thumbnail: <img itemprop="image" src="YOUR_LOGO_HERE"/>
</section>
</body>
</html>
');
?>
然后发布
{
"type":"http://schemas.google.com/AddActivity",
"target":{
"url":"http://YOUR_SERVER/YOUR_SCRIPT.PHP?name=A_NAME&desc=A_DESC"
}
}
通过这样做,您的活动将被添加到Google+历史记录中 - 但这当然意味着与您的服务器互动 - 这也可以为您带来一些好处。
答案 1 :(得分:1)
没有足够的信息可以确定,但我会调查以下内容:
1)确保在调用时刻API时有debug = true。如:
path: '/plus/v1moments/people/me/moments/vault?debug=true'
然后确保您正在查看返回的内容,看看是否有任何错误。
2)确保目标页面中有schema.org标记。虽然通常他们很高兴从页面中获取某些东西,但可能只是页面太复杂或太大而无法从整个页面中获取有用的信息。
答案 2 :(得分:1)
我试着提交你的时刻:
{
"type":"http://schemas.google.com/AddActivity",
"target":{
"url":"http://www.qontext.com"
}
}
到以下的演示应用程序:
http://plus-history-examples.appspot.com/client-side-flow/index.html
返回的回复是:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "Unable to fetch metadata."
}
],
"code": 400,
"message": "Unable to fetch metadata."
}
}
所以我怀疑问题是http://www.qontext.com
缺少元数据