2013-05-11 72 views
1

我使用的IMGUR API和我收到以下错误IMGUR API - 被拒绝的权限

警告:的file_get_contents(https://api.imgur.com/3/album/f0J59/images):未能打开流:HTTP请求失败! HTTP/1.1 403权限使用C拒绝:\ WAMP \ WWW \ reddit_cards \ imgur_test.php上线12

$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

检查一下这个脚本,我创建了几个星期前上传图片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; 
} 
?> 

它正常工作与我。