Google Cloud SQL API - ошибка 401 при попытке установить новый IP-адрес с помощью cURL
У меня есть следующий код для добавления нового авторизованного адреса в Google Cloud SQL с помощью cURL:
$access_token = "[Removed for security reasons]";
$headers = array('Authorization: Bearer ' . $access_token, 'Content-Type: application/json');
$send_method = "PATCH";
$payload = '{"settings" : {"ipConfiguration" : {"authorizedNetworks" : [{ "value": "220.20.0.1" }]}}}';
$settings = array(
CURLOPT_CUSTOMREQUEST => $send_method,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POSTFIELDS => $payload
);
$curl = curl_init($url);
curl_setopt_array($curl, ($settings));
$result = curl_exec($curl);
curl_close($curl);
Я знаю, что с моей полезной нагрузкой все в порядке, потому что она работает на https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/instances/patch.
Я также знаю, что токен хорош, потому что я получил его с игровой площадки oAuth ( https://developers.google.com/oauthplayground). Я пользуюсь служебной учетной записью и ставлю себя ее владельцем.
Тем не менее, я получаю следующую ошибку (я также получаю ее на площадке oAuth):
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
Что я могу сделать?