Php 狂饮到莱佛api
大家好,我一直在为这个问题发愁。我正在从ryver访问一个api,以发送聊天后消息以进行自动通知。我正在关注这个文档,我正在使用Laravel5.1和Guzzle,这是我的代码,如果它有帮助的话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 = [
$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[原因短语]错误请求