OAuth2 With PHP's Built-in Streams Functions
If you're working with APIs from PHP, Guzzle might be useful considering how easy to use it is, and up to date. Check out this look at OAuth2 with PHP's built-in stream functions in this great snippet.
Join the DZone community and get the full member experience.Join For Free
Most of the time when I work with APIs from PHP, I use Guzzle - it's awesome, modern, and elegant. However some of my work is with legacy platforms and I recently had a situation where we needed to integrate with an API using OAuth2 and launch that integration before the planned platform upgrade from an older version of PHP was expected to complete.
(This drives me nuts, I love upgrading systems but the downside is you have to work with the old ones first and none of the tools you want have been invented yet!)
For OAuth2, all I had to be able to do was to send an
Authorization header with my web request from PHP. My second-favourite way of making API calls from PHP is to use PHP's stream handling, so I did that. It's not code you see very often but it's super-simple and it works on every PHP platform I've tried so far, so here's an example:
// assemble the options
$opts = array(
'header'=> "Authorization: Bearer " . $access_token
// create the context
$context = stream_context_create($opts);
// now make the request! Use the context and simply output the result
echo file_get_contents('http://api.example.com/endpoint1', false, $context);
If you're trying to make an API call from PHP and installing better tools is hard for any reason, this example may help!
Published at DZone with permission of Lorna Mitchell, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.