Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to provide Youtube authentication token in PHP cURL

Following this guide, I'm trying to retrieve a Youtube user's subscriptions. I am able to get the user's authentication token, however I don't know HOW to actually send it with my cURL request. The docs just say this:

To request a feed of the currently logged-in user's subscriptions, send a GET request to the following URL. Note: For this request, you must provide an authorization token, which enables YouTube to verify that the user authorized access to the resource.

https://gdata.youtube.com/feeds/api/users/default/subscriptions?v=2

When I send the request without the token I get the 401 user authentication required error. I can't find any information on how to send the token. Here's my current code:

$ch_subs = curl_init();
curl_setopt($ch_subs, CURLOPT_URL, 'https://gdata.youtube.com/feeds/api/users/default/subscriptions?v=2');
curl_setopt($ch_subs, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch_subs, CURLOPT_SSL_VERIFYPEER, false);
$subs_return = curl_exec($ch_subs);
curl_close($ch_subs);

Thanks in advance for any help.

like image 360
FramesPerSushi Avatar asked May 10 '13 19:05

FramesPerSushi


1 Answers

Look to this guide:

https://developers.google.com/youtube/2.0/developers_guide_protocol#OAuth2_Calling_a_Google_API

You need to add a header containing: Authorization: Bearer ACCESS_TOKEN

$headers = array('Authorization: Bearer ' . $access_token);
curl_setopt($ch_subs, CURLOPT_HTTPHEADER, $headers);

You can also pass the token as part of the Get request:

curl_setopt($ch_subs, CURLOPT_URL, 'https://gdata.youtube.com/feeds/api/users/default/subscriptions?v=2&access_token=' . $access_token);
like image 91
Erik Nedwidek Avatar answered Nov 05 '22 21:11

Erik Nedwidek