I'm getting this error with jQuery (I was able to create the list with PHP):
OPTIONS https://api.themoviedb.org/4/list 401 (Unauthorized) XMLHttpRequest cannot load https://api.themoviedb.org/4/list. Response for preflight has invalid HTTP status code 401
Someone help me?
jQuery does not work
var settings = {
'async': true,
'crossDomain': true,
'url': 'https://api.themoviedb.org/4/lists',
'method': 'POST',
'headers': {
'authorization': 'Bearer TOKENxxXxxxxXxxXXx',
'content-type': 'application/json;charset=utf-8'
},
'processData': false,
'data': "{\"name\":\"My Cool List\",\"iso_639_1\":\"en\"}"
};
$.ajax(settings).done(function (response) {
console.log(response);
});
PHP Works
function create_list($access_token) {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.themoviedb.org/4/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"name\":\"My Cool List\",\"iso_639_1\":\"en\"}",
CURLOPT_HTTPHEADER => array(
"authorization: Bearer $access_token",
"content-type: application/json;charset=utf-8"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
return json_decode($response);
}
}
Can't find a movie or TV show? Login to create it.
Want to rate or add this item to a list?
Not a member?
Reply by Travis Bell
on March 31, 2017 at 6:09 PM
I can get this fixed. I need to add the pre-flight options in. I'll see about getting this done this weekend.
Reply by Cyro
on March 31, 2017 at 6:15 PM
Nice, thanks man
Reply by geogolem
on April 3, 2017 at 2:46 PM
Im having an issue related to "pre-flight" not sure if its the same thing or not -- but there wasn't a response to my post so I just thought I would bring it up here.
https://www.themoviedb.org/talk/58bd25a1c3a368666b045066
Thanks,
Reply by Travis Bell
on April 18, 2017 at 7:14 PM
Fixes for this should be live.
I pushed 2 small test scripts to verify all of this which can be seen here:
Reply by Cyro
on April 19, 2017 at 10:08 PM
(Edited) It works! My first test failed because I put my token and not access token, sorry and thanks!
Reply by Travis Bell
on April 19, 2017 at 10:15 PM
Make sure you're authorising a new token with write privileges from a user account. You can use my auth script above to do that.
I've walked through the entire process with those 2 scripts and can guarantee it works.
Reply by Cyro
on April 19, 2017 at 10:16 PM
Nice! I failed haha, thanks.
Reply by Travis Bell
on April 19, 2017 at 10:18 PM
Reply by Cyro
on April 20, 2017 at 10:13 AM
Travis, I'm getting this error when I try do delete the list. (Other methods are working).
Reply by Travis Bell
on April 20, 2017 at 10:44 AM
Give it a try now.
According to this spec doc, the wildcard (*) value I was using before doesn't work in Chrome or Firefox. It seemed fine in Safari (my main browser) so I didn't see this issue.
Reply by Cyro
on April 20, 2017 at 11:22 AM
It works! Thanks!
Travis, could you check the other list and account methods as well?
Look:
Reply by Travis Bell
on April 20, 2017 at 11:36 AM
Ok, not sure why those
OPTIONS
requests are failing but I'll look into it shortly.Reply by Cyro
on April 20, 2017 at 11:42 AM
Thanks man!
Reply by Travis Bell
on April 20, 2017 at 6:34 PM
Give those requests a try now. Should be good to go.