我创建了一个活动 json,如下所示并发布到 google plus moment api
var activity = { "type": "http://schemas.google.com/AddActivity", "target": { "url": "http://www.qontext.com" }};
POST 成功,但该时刻未显示历史记录。身份验证得到处理。示例网址工作正常。有人可以帮忙吗。
我创建了一个活动 json,如下所示并发布到 google plus moment api
var activity = { "type": "http://schemas.google.com/AddActivity", "target": { "url": "http://www.qontext.com" }};
POST 成功,但该时刻未显示历史记录。身份验证得到处理。示例网址工作正常。有人可以帮忙吗。
只要提供的目标网址不返回包含所需元数据 (http://schema.org/Thing) 的 (html) 内容,您插入的元素就不会显示在 Google+ 历史记录中(无论响应是否为HTTP 200 与否)。
在请求正文中提供您的元数据(作为“结果”JSON)也不起作用。因此,您必须确保目标 url 将返回包含您要发布的数据的 HTML。
例如,这可以通过一个简单的 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) 确保在对时刻 API 的调用中有 debug=true。如:
path: '/plus/v1moments/people/me/moments/vault?debug=true'
然后确保您正在查看返回的内容以查看是否有任何错误。
2) 确保您在目标页面中有 schema.org 标记。虽然他们通常擅长从页面中获取某些内容,但可能只是页面太复杂或太大,以至于他们无法从整个页面中获取有用的信息。
我试着提交你的时刻:
{
"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."
}
}