0

谷歌聊天机器人有一个 webhook,用户可以在其中自动聊天,有一个小的 python 脚本可以让它工作,但我想用 php 做同样的事情。我正在使用 curl 打 post 方法

$apiUrl = 'https://chat.googleapis.com/v1/spaces/AAAAbvoeZ0w/messages?key=AIzaSyDdI0hCZtE6vySjMm-WEfRq3CPzqKqqsHI&token=h2OIcCLB6_f_XxhPX6lugnGizE88ZBBpJURFHtPfh_0%253D';
    $ch         = curl_init($apiUrl);
    //$kid_userid = "IXM_".session('user_data')['userID'];
    $data       = '{"text": "All Mock Test are Free "}';
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;

在点击此代码后,我收到错误。

{错误:{代码:400,消息:“无效请求令牌h2OIcCLB6_f_XxhPX6lugnGizE88ZBBpJURFHtPfh_0%3D”,状态:“INVALID_ARGUMENT”}}

但是当我在 python 上运行时,相同的代码运行良好。任何帮助都会非常有帮助。提前感谢您的帮助,我尽力解释。对不起,如果我犯了任何错误。

4

2 回答 2

0

我分享的上述代码是正确的,实际上我刚刚添加了新的机器人 URI 并且它工作正常。谢谢大家的帮助。

于 2021-11-27T13:05:56.293 回答
0

这段代码对我有用。我从另一个 SO 答案中得到它,也许问题是缺少CURLOPT_POST...

$uri = "https://chat.googleapis.com/v1/spaces/AAAAgcWhzwk/messages?key=MY_KEYI&token=MY_TOKEN";
$msg = '*Testing Curl PHP message to Google Chat*\n\n Description';
$params = '{"text": "'.$msg.'"}';
$ch = curl_init($uri);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, ($params));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
于 2021-11-25T18:04:31.693 回答