Передача заголовка тела с PHP - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь создать Vimeo-API для загрузки субтитров / подписей, следуя этому руководству: https://developer.vimeo.com/api/upload/texttracks#uploading-a-text-track-step-3

Руководство содержит 4 шага, я застопорился на шаге 3.

Шаг 3: To upload the text track, take the value of the link field from Step 2, and make a PUT request to this location: PUT https://api.vimeo.com{link}

Вот мой код:

<code>require 'Vimeo/autoload.php';
use Vimeo\Vimeo;

$client = new Vimeo("xxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxx");


include __DIR__ . '/Vimeo/autoload.php';

$clientId = "xxxxxxxxxxxxxxxxxxxxx";
$clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxx";
$scope = "public";
$userId = 9999999;
$lib = new \Vimeo\Vimeo($clientId, $clientSecret);
$token = $lib->clientCredentials($scope);


$lib->setToken('xxxxxxxxxxxxxxxxxxxxxxxxxxxxx');


$videos = $lib->request("/videos/99999999/texttracks", ["type"=>"captions", "language"=>"pt-BR", "name"=>"legenda"], "POST");
$link = $videos["body"]["link"];
$videos = $lib->request("/videos/99999999/texttracks/", ["link"=>$link, "body"=>"https://paste.ee/r/E3Q1K/0"], "PUT");

echo "<pre>".var_export($videos, true)."
";

Вывод:

array (
  'body' => NULL,
  'status' => 405,
  'headers' => 
  array (
    'Server' => 'nginx',
    'Content-Type' => 'application/json',
    'Allow' => 'GET,POST,OPTIONS',
    'X-Vimeo-DC' => 'ge',
    'Accept-Ranges' => 'bytes',
    'Via' => '1.1 varnish',
    'Content-Length' => '0',
    'Date' => 'Wed, 22 May 2019 07:11:58 GMT',
    'Connection' => 'keep-alive',
    'X-Served-By' => 'cache-bwi5150-BWI, cache-lax8642-LAX',
    'X-Cache' => 'MISS, MISS',
    'X-Cache-Hits' => '0, 0',
    'X-Timer' => 'S1558509118.323164,VS0,VE80',
    'Vary' => 'Accept-Encoding',
  ),
)   

Итак, проблема встречается в этой строке: $videos = $lib->request("/videos/99999999/texttracks/", ["link"=>$link, "body"=>"https://paste.ee/r/E3Q1K/0"], "PUT"); Как видите, вывод body равен NULL. Как правильно настроить заголовок тела? Я пытаюсь создать этот API в течение трех дней, здесьмоя последняя надежда, я буду очень рад, если вы поможете мне.

Спасибо

...