2017-04-03 6 views
0

こんにちは、私はこの問題のために私の髪を引っ張ってきました。 ryverからapiにアクセスして、チャットメッセージを送信して自動通知を送信しています。それはそれは、常に[ステータスコード] 400を返すryver apiへの口角

$client = new Client(); 
     $postData = \GuzzleHttp\json_encode(['JSON Payload' => ['body' => 'test123']]); 



     $options = [ 
      'json' => $postData 
     ]; 

     $request = $client->post('https://somecompany.ryver.com/api/1/odata.svc/workrooms(1099207)/Chat.PostMessage()', $options); 
     $request->setHeader('Content-Type', 'application/json'); 
     $request->setHeader('Accept', 'application/json'); 
     $request->setHeader('Authorization', 'Basic Base64codehere'); 

     $response = $request->send(); 

を助けている場合、:(はありがとう助け、偉大なを持ってください、私はこのdoc https://support.ryver.com/chatmessage-api/を以下だと私はがつがつ食うとlaravel 5.1を使用していますし、ここに私のコードです日!あなたはこれを使用してAPIリクエストを送信しようとするかもしれ

+0

レスポンスボディには何がありますか? –

+0

例外を投げているので、@JonStirlingの応答を送信できません。 クライアントエラーの応答 [状態コード] 400 [reason phrase]不正リクエスト –

答えて

0

はそれを修正paramsは:)私はちょうどそれがJSONを仕事と設定体にするためにJSONをstringfyする必要があります。ここにコードがあります。

$client = new Client(); 
     $postData = '{ 
     "body":"**Update!**\n> ** Test success for ryver integration.", 
      "extras": { 
      "from": { 
       "__descriptor":"Developer", 
       "avatarUrl":"https://cdn2.f-cdn.com/ppic/4973381/logo/4389970/developer_avatar.png" 
      } 
      } 
     }'; 
     $request = $client->post('https://company.ryver.com/api/1/odata.svc/workrooms(1098712)/Chat.PostMessage()',[ 
      'Content-Type' => 'application/json', 
      'Accept' => 'application/json', 
      'Authorization' => 'Basic base64' 
     ]); 

     $request->setBody($postData); 

     $response = $request->send(); 
0

$postData = \GuzzleHttp\json_encode(['body' => 'test123']); 

$options = [ 
    'JSON Payload' => $postData 
]; 
関連する問題