1

I'm trying to use the discogs php api in a PHP script to get info on a release using the release ID. For example, when I make a request to:

http://mywebsite.com/test.php?id=1017868

I want to call the discogs API to get info on the release with id = 1017868. I can see the info I want by manually going to:

https://api.discogs.com/releases/1017868

So I have my $consumerKey =and $consumerSecret and I'm following the DISCOGS AUTH FLOW instructions, which says I can send my keys in a get request like so:

curl "https://api.discogs.com/database/search?q=Nirvana" -H "Authorization: Discogs key=foo123, secret=bar456"

I'm trying to make a get request for my target id in my php script like so:

<?php
echo "hello world <br>";

//discogs simple auth flow, http requests
$remote_url = 'https://api.discogs.com/releases/1017868';

// Create a stream
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header' => "Authorization: Discogs key=mykeyasdlkhaskld, secret=mysecretkeykjnasdkjnsadkj"                 
  )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents($remote_url, false, $context);

print($file);

echo "end of program";
?>

But I keep getting the error:

"failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden".

Is there something I'm forgetting for making my request to the server? Thanks.

Adrita Sharma
  • 21,581
  • 10
  • 69
  • 79
Martin
  • 1,336
  • 4
  • 32
  • 69
  • You're missing a "User-Agent" and "Content-Type" headers and i think that "header" key in your $opts array should be "headers" – OpSocket Jul 21 '20 at 18:12

0 Answers0