Я, вероятно, упускаю что-то невероятно очевидное, но в проекте, над которым я работаю, мне нужно отправить много заданий из CSV-информации для асинхронной обработки, и текущий путь Google App Engine - через их новое (бета-версия) ) Механизм облачных задач.
Он примет полезную нагрузку как часть задачи, поэтому я собирался отправить массив JSON с соответствующими данными каждого задания ... за исключением того, что единственный способ диктовать заголовок "Content-Type: application/json"
- это во время создания объекта задачи .
Я использую собственную библиотеку Google cloud-tasks 0.5.0.
Вот то, что я пытался сделать, поскольку, похоже, именно так большинство других не-CURL HTTP POST-запросов будет принимать заголовок Content-Type ...
require_once 'vendor/autoload.php';
use Google\Cloud\Tasks\V2beta3\AppEngineHttpQueue;
use Google\Cloud\Tasks\V2beta3\CloudTasksClient;
use Google\Cloud\Tasks\V2beta3\Queue;
use Google\Cloud\Tasks\V2beta3\Task;
<<< ...lots of cruft omitted... >>>
$json_payload = json_encode(
array(
"batch" => $operation_time,
"order" => $csvln[0],
"customer" => $csvln[1],
"email" => $csvln[2],
"salesperson" => $csvln[3]
)
);
//Create each of the tasks in the queue
$options = [
'http' => [
'header' => "Content-type: application/json",
'method' => 'POST',
'content' => $json_payload
]
];
$task = new Task($options);
Любая помощь будет безмерно признательна!