HTTP 403 на вызове API FCM HTTP v1 из PHP-скриптаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 HTTP 403 на вызове API FCM HTTP v1 из PHP-скрипта

Сообщение Anonymous »

Продолжаем получать сообщение 403 при попытке отправить уведомление FCM из PHP-скрипта
с установленной библиотекой Google API Client для PHP 7.4
Предупреждение: file_get_contents(https://fcm. googleapis.com/v1/projects//messages:send): не удалось открыть поток: HTTP-запрос не выполнен! HTTP/1.0 403 Запрещено в file_get_contents()
Мой код

Код: Выделить всё

require_once libraries_get_path('google-api-php-client') . '/vendor/autoload.php';
$client = new Google_Client();
try {
$client->setAuthConfig(libraries_get_path('google-api-php-client') .
'/....json');
$client->addScope(Google_Service_FirebaseCloudMessaging::CLOUD_PLATFORM);

// $accessToken = generateToken($client);
$client->fetchAccessTokenWithAssertion();
$accessToken = $client->getAccessToken();

$client->setAccessToken($accessToken);

$oauthToken = $accessToken["access_token"];
$device_token = '...';
$payload = ["message" => ["token" => $device_token, "notification"=>["title" => 'test message', "body"=> 'message body']]];
$postdata = json_encode($payload);

$opts = array('http' =>
array(
'method'  => 'POST',
'header'  => 'Content-Type: application/json' . "\r\nAuthorization: Bearer $oauthToken",
'content' => $postdata
)
);

$context  = stream_context_create($opts);

$result = file_get_contents('https://fcm.googleapis.com/v1/projects/
/messages:send', false, $context);

где содержится файл service_account.json

Код: Выделить всё

{
"type": "service_account",
"project_id": "",
"private_key_id": "...",
"private_key": "...",
"client_email": "...iam.gserviceaccount.com",
"client_id": "...",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/...iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}
Я имею дело с устаревшим сайтом Drupal 7.x, поэтому повышение версии PHP до 8 не является вариантом. Пока я подозреваю, что проблема в библиотеке Google API PHP 7.4.< /p>
Любые идеи/предложения будут высоко оценены.

Подробнее здесь: https://stackoverflow.com/questions/793 ... php-script
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»