我试图在PHP中对SendGrid API v3进行基本调用。我确实有一个已确认可用的API密钥。我的代码:
$url = "https://api.sendgrid.com/v3/template/";
$access_token = "example";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer $access_token",
"Content-Type: application/json"
));
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($status != 200){
die('Could not connect to endpoint.');
}
$response = json_decode($json_response, true);
curl_close($curl);
根据SendGrid API文档,我应该得到一个JSON响应,例如:
{
"name": "new template name"
}
但是,我收到了这个:
{
"errors":[
{
"field": null,
"message": "access forbidden"
}]
}
返回的状态是403,甚至没有记录在API上。
如果我的API密钥是正确的(实际上是三重检查),那么为什么我会获得访问禁止错误?我错过了标题吗?