IMGUR API - 权限被拒绝

时间:2013-05-11 08:24:13

标签: php api curl file-get-contents imgur

我正在使用IMGUR API,我收到以下错误

  

警告:file_get_contents(https://api.imgur.com/3/album/f0J59/images):无法打开流:HTTP请求失败!第12行的C:\ wamp \ www \ reddit_cards \ imgur_test.php中的HTTP / 1.1 403权限被拒绝

$opts = array(
    'http'=>array(
    'method'=>"POST",
    'header'=>"Authorization: Client-ID XXXXX"
    )
 );

$context = stream_context_create($opts);

 $file = file_get_contents('https://api.imgur.com/3/album/f0J59/images', false, $context);
 echo $file;

1 个答案:

答案 0 :(得分:1)

查看我几周前创建的用于将图像上传到Imgur的脚本。

Imgur.php

  <form enctype="multipart/form-data" method="post" action="imgur.php">
  Choose your file here:
  <input name="file" type="file"/>
  <input type="submit" value="Upload It"/>
 </form>

 if(isset($_FILES['file']))
 {
$filename = $_FILES['file']['tmp_name'];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
print_r(imgur($data));
}
else
{
echo "Nothing Done";
}

function imgur($data)
{
$key = "IMGUR KEY";
$pvars   = array('image' => base64_encode($data), 'key' => $key);
$timeout = 30;
$curl    = curl_init();

curl_setopt($curl, CURLOPT_URL, 'http://api.imgur.com/2/upload.json');
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);

$json = curl_exec($curl);
$json = json_decode($json,true);        
$res['small'] = substr($json['upload']['links']['small_square'],19)  . "<br />";
$res['original'] = substr($json['upload']['links']['original'],19) . "<br />";
$res['delete'] =  $json['upload']['image']['deletehash'] . "<br />";        
curl_close ($curl);
return $res;
}
?>

它对我很好。