Php 狂饮到莱佛api

Php 狂饮到莱佛api,php,json,laravel,api,guzzle,Php,Json,Laravel,Api,Guzzle,大家好,我一直在为这个问题发愁。我正在从ryver访问一个api,以发送聊天后消息以进行自动通知。我正在关注这个文档,我正在使用Laravel5.1和Guzzle,这是我的代码,如果它有帮助的话 $client = new Client(); $postData = \GuzzleHttp\json_encode(['JSON Payload' => ['body' => 'test123']]); $options = [

大家好,我一直在为这个问题发愁。我正在从ryver访问一个api,以发送聊天后消息以进行自动通知。我正在关注这个文档,我正在使用Laravel5.1和Guzzle,这是我的代码,如果它有帮助的话

$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();

它总是返回一个[status code]400,请帮助:(谢谢您,祝您度过愉快的一天!

您可以尝试使用此参数发送API请求

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

$options = [
    'JSON Payload' => $postData
];
修复了:)我只需要对JSON进行字符串化以使其正常工作,并将主体设置为JSON。这是密码

$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();

响应主体有什么?我不能向@JonStirling发送任何响应,因为它抛出了一个异常。客户端错误响应[状态代码]400[原因短语]错误请求