Vimeo:如何使用php官方客户端为视频添加域名白名单?

问题描述 投票:-1回答:1

我正在使用官方的Vimeo PHP客户端。

我可以上传视频,并将privacy.embed设置为whitelist

然后doc告诉我:

要将域添加到白名单,请向PUT发送/videos/{video_id}/privacy/domains/{domain}请求。

我试过了

$privacy_uri = $uri . "/privacy/domains/testdomain.tld";
$domain_add_response = $client->request($privacy_uri);

哪里 - $uri/vimeo/<video_id> - $client诞生于new Vimeo(CLIENT_ID, CLIENT_SECRET, VIMEO_TOKEN);

问题

打印$domain_add_response我得到一个405错误,可能是因为Allow(请参阅以下响应转储)

Array
(
    [body] => 
    [status] => 405
    [headers] => Array
        (
            [Server] => nginx
            [Content-Type] => application/json
            [Allow] => PUT,DELETE,OPTIONS
            [X-Vimeo-DC] => ge
            [Accept-Ranges] => bytes
            [Via] => 1.1 varnish
            [Content-Length] => 0
            [Date] => Mon, 15 Apr 2019 08:30:47 GMT
            [Connection] => keep-alive
            [X-Served-By] => cache-bwi5125-BWI, cache-mxp19820-MXP
            [X-Cache] => MISS, MISS
            [X-Cache-Hits] => 0, 0
            [X-Timer] => S1555317047.232635,VS0,VE148
            [Vary] => Accept-Encoding
        )

)

我想我必须在我的请求中设置PUT方法,但是......怎么样?

php vimeo vimeo-api
1个回答
0
投票

找到api源代码的解决方案:https://github.com/vimeo/vimeo.php/blob/master/src/Vimeo/Vimeo.php#L88

request的签名是哪里

public function request($url, $params = array(), $method = 'GET', $json_body = true, array $headers = array()): array

我明白我可以解决这个问题,只需传递一个空的$params数组并指定PUT作为请求$method

我换了这条线

$domain_add_response = $client->request($privacy_uri);

进入这种形式

$domain_add_response = $client->request($privacy_uri, [], 'PUT');

它按预期工作

© www.soinside.com 2019 - 2024. All rights reserved.