我已经创建了新主题和新订阅并设置了投放类型:推送并设置了终点URL
:
index.php:
<?php
print_r($_POST);
$data = json_encode($_POST);
print_R($data);
$fp = fopen('data.txt', 'a+');
fwrite($fp, $data);
fclose($fp);
?>
当发布消息时,我想从此端点处理数据,例如,将数据保存到文件中。
已创建文件,但其中array []
为空。
我的php
code
中的任何问题,数据是否存储在$_POST
中还是我需要使用其他方式。
答案 0 :(得分:0)
要获取发布/订阅消息,您需要使用Google发布/订阅库。假设您已将订阅端点设置为URL,则代码应类似于以下内容:
use Google\Cloud\PubSub\PubSubClient;
$projectId = "YOUR-PROJECT-ID";
$subscriptionName = "YOUR-SUBSCRIPTION-NAME";
$pubsub = new PubSubClient([
'projectId' => $projectId,
]);
$subscription = $pubsub->subscription($subscriptionName);
$pullMessages = [];
foreach ($subscription->pull(['returnImmediately' => true]) as $pullMessage) {
$pullMessages[] = $pullMessage;
$msg = $pullMessage->data();
$fp = fopen('data.txt', 'a+');
fwrite($fp, $msg);
fclose($fp);
}
// acknowledge PULL messages
if ($pullMessages) {
$subscription->acknowledgeBatch($pullMessages);
}