Я пытаюсь получить токен авторизации пользователя со следующим:
public static void RequestAuthorization(WebConsumer consumer)
{
if (consumer == null) throw new ArgumentNullException("consumer");
Uri callback = new Uri("http://www.ihighfive.com/"); //test url until app is external
var extraParams = new Dictionary<string, string> {
//need to pass this as extra, but leave the value blank
{ "oauth_token", string.Empty}
};
var req = consumer.PrepareRequestUserAuthorization(callback, extraParams, null);
consumer.Channel.Send(req);
}
Но я получаю обратно ошибку:
{ "error": { "message" : "oauth_callback is required", "isFriendly" : false} }
Если я изменю приведенный выше код и вручную включу параметр oauth_callback, я получу более благоприятные результаты
var extraParams = new Dictionary<string, string> {
//need to pass this as extra, but leave the value blank
{ "oauth_token", string.Empty},
{ "oauth_callback", "http://www.ihighfive.com/" },
};
Таким образом, передача аргумента обратного вызова в .PrepareRequestUserAuthorization (), по-видимому, не включает oauth_callback в запрос. Я как-то неправильно использую параметр обратного вызова?
- изменить -
Дальнейшие исследования показывают, что параметр oauth_callback не включается, если для ServiceProviderDescription установлено значение ProtocolVersion.V10. Если для него установлено значение ProtocolVersion.V10a или оно не задано совсем, в запрос включается oauth_callback.