2017-07-04 21 views
3

私は楽しいプロジェクトをしています。要件の1つは、自分の選択したAPIのJSONデータです。これをanglejsを使用してアクティビティストリームに変換します。APIからアクティビティストリームへのJSONの変換

私はグーグルで活動の流れが何であるかを読んだので、私は基本的な理解があると信じています。基本的には、アクター、動詞、オブジェクト、ターゲットというキーワードを使用して、アクションを特定のJSON形式に変換しています。

例を見ると、特定のJSON文字列がアクティビティストリームと見なされる理由がわかります。

例:

{ 
"published": "2011-02-10T15:04:55Z", 
"actor": { 
    "url": "http://example.org/martin", 
    "objectType" : "person", 
    "id": "tag:example.org,2011:martin", 
    "image": { 
    "url": "http://example.org/martin/image", 
    "width": 250, 
    "height": 250 
    }, 
    "displayName": "Martin Smith" 
}, 
"verb": "post", 
"object" : { 
    "url": "http://example.org/blog/2011/02/entry", 
    "id": "tag:example.org,2011:abc123/xyz" 
}, 
"target" : { 
    "url": "http://example.org/blog/", 
    "objectType": "blog", 
    "id": "tag:example.org,2011:abc123", 
    "displayName": "Martin's Blog" 
} 

}

しかし、私は活動の流れの中に私のJSONデータを変換する方法の面で混乱しています。

My JSONには「アクタ」も「動詞」もありません。誰もが説明していただければ幸いです。ありがとうございました!

天気API

{ 
    "coord": { 
    "lon": -0.13, 
    "lat": 51.51 
    }, 
    "weather": [ 
    { 
     "id": 300, 
     "main": "Drizzle", 
     "description": "light intensity drizzle", 
     "icon": "09d" 
    } 
    ], 
    "base": "stations", 
    "main": { 
    "temp": 280.32, 
    "pressure": 1012, 
    "humidity": 81, 
    "temp_min": 279.15, 
    "temp_max": 281.15 
    }, 
    "visibility": 10000, 
    "wind": { 
    "speed": 4.1, 
    "deg": 80 
    }, 
    "clouds": { 
    "all": 90 
    }, 
    "dt": 1485789600, 
    "sys": { 
    "type": 1, 
    "id": 5091, 
    "message": 0.0103, 
    "country": "GB", 
    "sunrise": 1485762037, 
    "sunset": 1485794875 
    }, 
    "id": 2643743, 
    "name": "London", 
    "cod": 200 
} 
+0

私はアクティビティストリームの目的を理解していた場合、それがどのように見えますこれは、実行可能なデータを処理する方法です。最初のJSONサンプルは、関連付けられたオブジェクトとターゲットを使用して「投稿」できるユーザーmartinを表します。あなたが持っている気象データは行動できません。単に表示されるデータを表します。それはすべてあなたのアクティビティストリームの「俳優」セクションに包まれていると私は思う。私はこれらのことに関して多くの経験がありません。 (したがってコメントであり、答えではない) – SethWhite

答えて

0

ActivityStreamは活動のためだけの仕様です。天気は単なるモデルです。モデルは、サブジェクト/アクタ、またはアクタが動作するオブジェクトのいずれかです。この場合、天気はオブジェクトにしかなりません。

天気を扱う活動の例は次のとおりです。

Martin checks the weather for London at 3:04 PM UTC on February 10, 2015.

対応するアクティビティJSONは次のようになります。これは一例に過ぎない

{ 
    "published": "2015-02-10T15:04:55Z", 
    "actor": { 
    "url": "http://example.org/martin", 
    "objectType" : "person", 
    "id": "tag:example.org,2011:martin", 
    "image": { 
     "url": "http://example.org/martin/image", 
     "width": 250, 
     "height": 250 
    }, 
    "displayName": "Martin Smith" 
    }, 
    "verb": "search", 
    "object" : { 
    "url": "http://api.openweathermap.org/data/2.5/weather?q=London", 
    "name": "London's weather", 
    "published": "2015-02-10T15:04:55Z" 
    } 
} 

注こと。気象データをどのように使用するかによって、異なる活動をすることができます。

0

アクティビティストリームの概念はかなりシンプルです。ここでは良い例です。この場合

を「ウェンディが訪問する彼女のリストの場所にロンドンを追加し、」俳優は「ウェンディ」、オブジェクト動詞「ロンドン」である「追加」され、 ターゲットは「訪問する場所」です。

この構文を使用して、さまざまな使用例をサポートできます。私は人々の私たちには、それがすべての建物のリード認定から、社会的なアプリケーションにエラー報告に至るまでの活動のストリーム仕様を見てきました。

例2:

アプリケーションユーバーは、エラーコード2で決裂し、

  • 俳優ジョンに割り当てられている:アプリケーション:ユーバー
  • 動詞:
  • オブジェクトを破る:エラーを:2
  • 対象:ユーザ:John

例3:RoadToVR

  • 動詞:公表
  • オブジェクト:記事:123
  • 高度

    RoadToVRは俳優

    • エコーアリーナについての記事を掲載フィールド

      この仕様では、TOフィールドの概要も示しています。 TOフィールドを使用して、@ mentions、hashtags、およびnotificationsをサポートすることができます。

      バージョン2

      可能なアクティビティストリーム仕様の新バージョンもあります。これまでのところ、私はこの新しい仕様を採用するアプリケーションのいずれかの証拠を見ない https://www.w3.org/TR/activitystreams-core/ が。あなたはTwitterのスタイルのフィードを構築したい場合は

      アクティビティストリームのチュートリアル

      このチュートリアルでは、素敵な出発点である: https://getstream.io/get_started/