Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将CURL转换为PHP CURL调用,但获取授权错误_Php_Curl_Bearer Token - Fatal编程技术网

将CURL转换为PHP CURL调用,但获取授权错误

将CURL转换为PHP CURL调用,但获取授权错误,php,curl,bearer-token,Php,Curl,Bearer Token,我正在调用下面的cURL调用,但希望转换为PHP格式 curl https://apis.voicebase.com/v2-beta/media \ --header "Authorization: Bearer $token" \ --form media=@/home/harshal/Desktop/100Hz_44100Hz_16bit_30sec.wav\ | tee media-post-response.json | jq '.' 上面的cURL想要转换成如下所示的PHP格式

我正在调用下面的cURL调用,但希望转换为PHP格式

curl https://apis.voicebase.com/v2-beta/media \
--header "Authorization: Bearer $token" \
--form media=@/home/harshal/Desktop/100Hz_44100Hz_16bit_30sec.wav\
| tee media-post-response.json | jq '.'
上面的cURL想要转换成如下所示的PHP格式

    set_time_limit(0);
    $ch = curl_init();      
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 0);
    curl_setopt($ch, CURLOPT_LOW_SPEED_LIMIT, 0);
    curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 60);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300);
    curl_setopt($ch, CURLOPT_URL, $url);                
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $params);      
    $result = json_decode(curl_exec($ch),TRUE);
    curl_close($ch);
但是得到授权时出错,但是当我将参数传递给cURL(比如Token&audioUrl)时,它就工作了。但当传递上述php CURL_OPT之类的参数时,它就不起作用了。它说:

CURLOPT_HTTPHEADER  
    An array of HTTP header fields to set, in the format array('Content-type:   text/plain', 'Content-length: 100')

因此,我认为您需要将
$header
更改为
$header=array(“Authorization:Bearer${token}”)
的值是多少?header值是$header=“Authorization:Bearer${token}”;您是否检查过PHP中的
$token
在shell中是否具有相同的值?是,token值是正确的。我还传递参数$params=array(“media”=>$mediaURL,“action”=>“media post response”,“format”=>“txt”);您知道如果任何参数无效,服务器是否会返回授权错误吗?我认为您使用了错误的方式发布文件,但通常它发生在身份验证部分之后,请检查其“Authorization:Bearer{$token}”而不是“Authorization:Bearer${token}”