2016-03-29 14 views
0

imgur with php - アルバムの画像をアップロードするにはどうすればいいですか(エラー401 "認証が必要です")? <code>imgur.com</code>そのコードにアルバムに画像をアップロードするための

if(isset($_FILES['upload']['tmp_name'])) { 
     $imgbinary = fread(fopen($_FILES['upload']['tmp_name'], "r"), filesize($_FILES['upload']['tmp_name'])); 
     $image = 'data:image/png;base64,' . base64_encode($imgbinary); 
} 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'https://imgur-apiv3.p.mashape.com/3/image'); 
curl_setopt($ch, CURLOPT_POST, TRUE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . $client_id)); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-Mashape-Key: '. $xmash)); //. $xmash 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => $image)); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('album' => $album_id)); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('type' => 'base64')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('name' => 'test_name')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('title' => 'test title')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('description' => 'blablabla')); 

$reply = curl_exec($ch); 
var_dump($reply); 
curl_close($ch); 

しかし、今、私たちはその答えにエラーが発生しますされています

文字列(112) "{" データ ":{" エラー ":"結果は

我々はいくつかの質問を持っている認証 必要 " "リクエスト": "/ 3 /画像"、 "メソッド": "POST"}、 "成功"::偽、 "ステータス" 401}" :

  1. 私は(PHP上で)認証できますか?
  2. 文書内https://market.mashape.com/imgur/imgur-9は、ペーストAuthorization HEADER AUTHが必要です。彼はどうやって?
+0

あなたはまた、アプリケーションキーを渡す必要があります。私はこれがあなたの欠けているステップだと思っています.. – cramopy

+0

'X-Mashape-Key'で@cramopyの問題は解決しましたが、今は'認証が必要です 'というメッセージが表示されます... – user6129461

答えて

0

1つのアレイので、1セットの呼び出しにこれらに参加する必要があります。

$headers = array('Authorization: Client-ID ' . $client_id, 'X-Mashape-Key: ' . $Mashape_Key) 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
関連する問題