2016-05-27 3 views
2

Project Я использую: ImgurNet из NuGet (источник: https://github.com/0xdeafcafe/ImgurNet)Как вы получаете access_token и refresh_token от Imgur?

Похоже, что нужны все эти параметры:

{ 
    "client_id": "Insert your imgur client_id here", 
    "client_secret": "Insert your imgur client_secret here", 
    "access_token": "Insert your imgur access_token here", 
    "refresh_token": "Insert your imgur refresh_token here", 
    "authorized_username": "Insert your imgur username here" 
} 

... в то время как в Imgur я только в состоянии получить client_id + client_secret ,

Документация API Imgur упоминает те, но не говорит, как получить их: https://api.imgur.com/oauth2


Дополнительные данные:

Я использую ImgurNet, потому что это пакет апи NuGet только Imgur что я смог установить в своем проекте Xamarin (все остальные были несовместимы).

Это пример кода, я использую:

var oauth2Authentication = new OAuth2Authentication("my_client_id", "my_client_secret", false); 
var imgurClient = new Imgur(oauth2Authentication);    
var imageEndpoint = new ImageEndpoint(imgurClient); 
var result = imageEndpoint.UploadImageFromBinaryAsync(imageBinary, title: "my title", description: "my description").Result; 

И за исключением брошенным является «Вашим OAuth маркер доступ истек» (я тогда освежил client_secret с точно таким же результатом).

Из документации Imgur:

If a user has authorized their account but you no longer have a valid access_token for them, then a new one can be generated by using the refresh_token.

... так refresh_token кажется необходимым независимо.

+0

@Sylverac Вот что я сделал, и я получил 'client_id' и' client_secret', но не 'access_token' и' refresh_token'. –

+0

Я идиот и неправильно излагаю ваш вопрос, извините. –

+0

@Sylverac Нет проблем, спасибо за попытку помочь. Я оставлю ответ на комментарий в качестве разъяснения другим читателям. –

ответ

3

Редактировать: непонятый вопрос.

инструкций для получения в access_token находится в разделе "Authorization" в ссылке API документации вы предоставили:

To access a user's account, the user must first authorize your application so that you can get an access token. Requesting an access token is fairly straightforward: point a browser (pop-up, or full page redirect if needed) to a URL and include a set of query string parameters. https://api.imgur.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=REQUESTED_RESPONSE_TYPE&state=APPLICATION_STATE

Edit 2:

документация API также имеет удобную таблицу, объясняет, какие параметры и какие возможные значения вы можете использовать:

params

+0

Возможно, так оно и есть, но мне сложно с успехом применить запрос.Я не понимаю параметры 'REQUESTED_RESPONSE_TYPE' (я попробовал' json' просто попробовать), а 'APPLICATION_STATE' мне неизвестны. И я, похоже, не нахожу документацию о них. Ответ json в моих тестах всегда «{« data »: {« error »: null,« request »:« \/oauth2 \/authorize »,« method »:« POST »},« success »: false, status ": 400}' (так что «не удалось»). –

+0

@ XavierPeña Еще раз, * прочитайте документацию *. Возьмите секунду и действительно прочитайте все это. Ответы, которые вы ищете, есть. В этом же разделе авторизации у них есть таблица, в которой описываются параметры и возможные значения, которые вы можете использовать для них. Ex: "' response_type', values: 'code',' token' или 'pin', определяет, возвращает ли Imgur код авторизации, PIN-код или непрозрачный access_token. Если вы выберете код ..." –

+0

Я обновил мой ответ, чтобы включить таблицу, на которую я ссылался. Надеюсь это поможет. –

 Смежные вопросы

  • Нет связанных вопросов^_^