1

API を使用しようとしています。以下の curl リクエストはコマンド ラインで機能します。

curl 'https://subdomain.test.domain.com/api/v1/users/4508184' 
-X PUT 
-F 'user[avatar][url]= http://domain.com/canvas/avatar.jpg' 
-H "Authorization: Bearer tokenxxxxxxxxyyyyyyy"

ここで上記のコードを PHP に変換しましたが、リクエストは送信されていますが、「トークンが無効です」と表示されるため機能しません。トークンが機能していて正しいことを 100% 確信しているので、コードに何かがあると思います

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "{$baseUrl}{$userId}", 
CURLOPT_CUSTOMREQUEST => 'PUT',  // -X
CURLOPT_POSTFIELDS => 'user[avatar][url]=http://domain/canvas/avatar.jpg', // -F
CURLOPT_HTTPHEADER => $header // -H
));
$result = curl_exec($curl);
curl_close($curl);

ありがとうございました

4

2 に答える 2

0

私はそれを理解します。このコードを変更します。

CURLOPT_HTTPHEADER => $header // -H 

これに:

CURLOPT_HTTPHEADER => array($header) // -H 

curlopt_httpheader 期待値と配列。

于 2013-08-13T12:57:29.443 に答える
0

$header (一重引用符) で何かを見た場合、この作業が行われます。

$header = "Authorization: Bearer tokenxxxxxyyyyy"; 
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => "{$baseUrl}{$userId}", 
    CURLOPT_CUSTOMREQUEST => 'PUT',  // -X
    CURLOPT_POSTFIELDS => 'user[avatar][url]=http://domain/canvas/avatar.jpg', // -F
    CURLOPT_HTTPHEADER => $header // -H
));
$result = curl_exec($curl);
curl_close($curl);
于 2013-08-08T14:20:07.570 に答える