I am trying to use and API, an the curl request below works on the command line:
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"
Here I have translated the code above to PHP, but although the request is being sent it is not working because it says the "token is invalid". I am 100% sure the token is working and is correct so I presume that there is something in my code
$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);
Thank you
I figure it out. Change this code:
CURLOPT_HTTPHEADER => $header // -H
to this:
CURLOPT_HTTPHEADER => array($header) // -H
curlopt_httpheader expect and array.
Saw something in your $header (single quotes) does this work:
$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);