I'm trying to make an ajax request to the google contacts API with the following setup:
$.ajax({ url: "https://www-opensocial.googleusercontent.com/api/people/@me/@all", dataType: 'jsonp', data: { alt: 'json-in-script' }, headers: { 'Authorization': 'Bearer ' + token }, success: function(data, status) { return console.log("The returned data", data); } });
But the Authentication header doesn't seem to get set. Any ideas?
I had the same problem recently. Try this:
$.ajax({ url: "https://www-opensocial.googleusercontent.com/api/people/@me/@all", dataType: 'jsonp', data: { alt: 'json-in-script' }, success: function(data, status) { return console.log("The returned data", data); }, beforeSend: function(xhr, settings) { xhr.setRequestHeader('Authorization','Bearer ' + token); } });
EDIT: Looks like it can't be done with JSONP. Modify HTTP Headers for a JSONP request
When authentication is needed in a cross domain request, you must use a proxy server of some sort.
Since using dataType: jsonp
results in the HTTP request actually being made from the script that gets added to the DOM, the headers set in the $.ajax
will not be used.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With