2012-06-27 3 views
0

Я пытаюсь получить мой маркер доступа для моего приложения, используя этот URL:invalid_request ошибка при получении доступа токенов

https://datamarket.accesscontrol.windows.net/v2/OAuth2-13?grant_type=client_credentials&client_id=//CLIENT ID//&client_secret=//CLIENT SECRET//=&scope=http://api.microsofttranslator.com

Очевидно, что я заменить // CLIENT ID // и // КЛИЕНТ SECRET// с информацией о моих приложениях.

Я пробовал кодировать токены с помощью HtmlEncode в своем приложении, но получил ошибку 400. Так что я попытался запрос в браузере, и это ответ JSON я получил:

{ "error":"invalid_request", "error_description":"ACS90007: Request method not allowed. \r\nTrace ID: 2144c829-f3fa-4ed8-80e6-40841e6a3f69\r\nTimestamp: 2012-06-27 01:11:27Z" }

Я не знаю, что я делаю неправильно, любая помощь?

ответ

2

Я считаю, что когда вы вызываете вызов WebRequest, ваш параметр настроен на использование GET, и это вызовет ошибку ACS90007. При вызове WebRequest используйте POST вместе с приложением/x-www-form-urlencoded. Установите Content-Type.

Если у вас все еще есть проблема, отправьте свой фрагмент кода WebRquest, и я посмотрю.

+0

Я использую POST. Это мой код: http://pastebin.com/urEdZmd0 (слишком долго, чтобы добавить комментарий) –

0

Было бы лучше, если бы вы указали код для AdmAuthentication. На данный момент, пожалуйста, убедитесь, что вы правильно перевели код на http://msdn.microsoft.com/en-us/library/hh454950 на VB. Также попробуйте использовать Fiddler для отслеживания запроса, чтобы он отправил запрос POST.

С наилучшими пожеланиями,

Ming Xu.

0

Создание моей собственной клиентской тайны помогло моему делу