2017-11-10 4 views
1

タイムラインでアクティビティをポストするためにGetStream APIを使用しようとしています。GetStream APIエラー:ターゲットペイロードが不完全(署名がありません)

1つのタイムラインに投稿すると問題なく動作します。たとえば、次のように

curl -X POST -H "Content-Type: application/json" -H "Stream-Auth-Type: jwt" -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJ3cml0ZSIsImZlZWRfaWQiOiJ1c2VyMSIsInJlc291cmNlIjoiZmVlZCJ9.r0zd_F0ujWKnNMCLiKVeZbfruy6-..." -d "{\"actor\": \"user:1\",\"verb\": \"status\",\"object\": \"1\",\"user\": {\"display_name\": \"Administrator\",\"first_name\": \"golflink1\",\"last_name\": \"Administrator\",\"gender\": \"Female\",\"profile_pic_thumb_url\": \"\"},\"course\": {\"course_id\": 879,\"course_name\": \"Admiral Baker, North\",\"city\": \"San Diego\",\"state_name\": \"California\",\"banner_image_url\": \"/ui/images/courses/golfcourse_detail.jpg\"},\"status\": \"sample string 1\"}" https://api.stream-io-api.com/api/v1.0/feed/user/1/?api_key=... 

が、私は(同じトークンを使用して)フィールド「を」を使用して、複数のタイムラインでイベントをポストしようとすると、私はエラーを以下の取得:

カール-X POST -H「のコンテンツ-Type:アプリケーション/ JSON "-H "ストリーム-AUTHタイプ:JWT" -H "許可:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJ3cml0ZSIsImZlZWRfaWQiOiJ1c2VyMSIsInJlc291cmNlIjoiZmVlZCJ9.r0zd_F0ujWKnNMCLiKVeZbfruy6 ..." -d "{\" アクター\ ":\" ユーザー:1 \" \ "オブジェクト\":\ "1 \" 、\ "〜\":\ "タイムライン:グローバル\"、\ "コース:879 \"、\ " "city:US_CA_San_Diego \"]、\ "user \":{\ "display_name \":\ "Administra "last_name":\ "管理者\"、\ "性別\":\ "女性\"、\ "profile_pic_thumb_url \":\ "\"、\ "first_name \":\ " } "\"コース\ ":\"コース名\ ":879 \"コース名\ ":\"アドミラルベイカー、北\ "、\"都市\ ":\"サンディエゴ\ "、\"状態名\ :\ "カリフォルニア\"、\ "banner_image_url \":\ "/ ui/images/courses/golfcourse_detail.jpg \"}、\ "ステータス\":\ "サンプル文字列1 \"} "https://api.stream-io-api.com/api/v1.0/feed/user/1/?api_key= ...

レスポンスエラー:

{"code": 4, "detail": "To target payload is incomplete (missing signature)", "duration": "14ms", "exception": "InputException", "status_code": 400} 

答えて

0

あなたはどのような言語を使用していますか?言語に応じて、利用可能なAPIクライアントがあります。

私が送ります
+0

HTTP/

feed = client.feed(slug, id); // instead of the feed id, give the feed id and the token an a sub-array to = [ [feed.id, feed.token], ]; // or concatenate the id and the token with a space: to = [ feed.id + ' ' + feed.token ]; 

(擬似コードを、しかし、すべてのAPIクライアントは、同様の方法を持っている):あなたは「へ」の配列に対応する供給用のトークン/署名を取得し、そのようにそれを追加することができますASP.NetコードからのCURL要求。 私はそれを試してみましたが、今は次のエラーが表示されます: {"code":4、 "detail": "フィールドのエラー"、 "期間": "10ms" : "無効な値。"、 "1": "無効な値。"、 "2": "無効な値": "入力例外"、 "例外フィールド" ]}]}、 "STATUS_CODE":400} サンプルリクエスト: { "アクター": "ユーザー1"、 "動詞": "状態"、 "オブジェクト": "1"、 " to: " "タイムライン:グローバルey ... to "、 " course:879 ey ... 1M "、 " city:US_CA_San_Diego ey ... 1I " ]、 ... } – Raman

+0

こんにちはラマン。そのトークンは正しくありません。私はReadOnlyToken(JWTトークンです)を使用していると思いますが、私が間違っていなければ他のものになるはずです... – hannesvdvreken

+0

私は意図的に不完全なトークンを投稿しました。 フル"もちろん:879 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJ3cml0ZSIsImZlZWRfaWQiOiJjb3Vyc2U4NzkiLCJyZXNvdXJjZSI6ImZlZWQifQ.rwGDoLZ03DT2_3-qHzEfupYoprqKHguxsNsnXbhhDTw eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJ3cml0ZSIsImZlZWRfaWQiOiJjb3Vyc2U4NzkgZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SmhZM1JwYjI0aU9pSjNjbWwwWlNJc0ltWmxaV1JmYVdRaU9pSmpiM1Z5YzJVNE56a2lMQ0p5WlhOdmRYSmpaU0k2SW1abFpXUWlmUS5yd0dEb0xaMDNEVDJfMy1xSHpFZnVwWW9wcnFLSGd1eHNOc25YYmhoRFR3IiwicmVzb3VyY2UiOiJmZWVkIn0.0gMm_dTRFsDOpiiVCPtU4dH0AcwE2udeumTA321Qo1M"、 – Raman

関連する問題