2015-08-09 5 views
0

Кому это может быть интересно,Imgur API (ошибка 400)

Я что-то упустил? Попытка сделать простой пост в Imgur через их API.

Мой HTML

<form> 
    <input id="profPic" type="file" ng-model="profilePicture" name="pic" accept="image/*"> 
    <button class="btn btn-invers btn-lg" ng-click="imgurTime()" type="submit">Imgur Upload</button> 
</form> 

Мои JavaScript (без моего Imgur идентификатора клиента)

$scope.imgurTime = function(){ 
     console.log($scope.profilePicture); 
     $.ajax({ 
      url: 'https://api.imgur.com/3/upload', 
      headers: { 
       'Authorization': 'Client-ID <a;lskdjfal;sdfj>' 
      }, 
      type: 'POST', 
      data: { 
       'image': document.getElementById('profPic').value 
      }, 
      success: function() { console.log('cool'); } 
     }) 
} 

Browser Ошибка

POST https://api.imgur.com/3/upload 400 (Bad Request)

Спасибо заранее за любое просветление на эту тему

ответ

0

Для тех, кто читает этот пост, реализовать, на секунду, полнейшая глупость моего запроса ...

Первой ошибка: Ну, вроде ошибка - я использовал ajax в приложении Angular, где мог бы и должен был использовать только встроенный сервис $ http Angular.

Во-вторых: я попросил API Imgur что-то сделать, прежде чем авторизовать себя. Они говорят вам сделать это ПРАВИЛЬНО в [документации] [1], поэтому нет никакого оправдания, чтобы обойти это. Таким образом, все, что мне нужно было сделать для авторизации, это, во-первых, сделать $http.get('https://api.imgur.com/oauth2/authorize?client_id=<client_id>&response_type=<response_type>').then(function(data){ console.log(awesomeImgurData); });

+1

Я, очевидно, идиот, но у меня такая же проблема, и я все еще не понимаю вашего решения. Можете ли вы опубликовать свой рабочий код, пожалуйста – dsifford