次のようにアクティビティjsonを作成し、google plusmomentsapiに投稿しました
var activity = {"type": "http://schemas.google.com/AddActivity"、 "target":{"url": "http://www.qontext.com"}};
POSTは成功しましたが、その瞬間には履歴が表示されません。認証が行われます。例のURLは正常に機能します。誰かが助けることができますか。
次のようにアクティビティjsonを作成し、google plusmomentsapiに投稿しました
var activity = {"type": "http://schemas.google.com/AddActivity"、 "target":{"url": "http://www.qontext.com"}};
POSTは成功しましたが、その瞬間には履歴が表示されません。認証が行われます。例のURLは正常に機能します。誰かが助けることができますか。
提供されたターゲットURLが必要なメタデータ(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)momentsAPIの呼び出しに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."
}
}