这个Microsoft Bot框架令牌请求有什么问题?

时间:2017-05-30 22:25:38

标签: oauth botframework

更新5/30/2017

我能够使用cURL获取令牌,但Postman仍然没有运气。这是curl命令:

curl -X POST -H "Cache-Control: no-cache" -H "Content-Type: application/x-www-form-urlencoded" -d 'client_id=<your_id>&client_secret=<your_secret>&grant_type=client_credentials&scope=https%3A%2F%2Fapi.botframework.com%2F.default' 'https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token'

原始问题

根据Microsoft关于使用REST开发机器人的官方文档的说明,我在Postman中发送请求以获取用于使用其bot REST API的oauth令牌。

这是我在Postman中的设置(使用Interceptor,因此我可以指定Host):

接头 Headers

车身 Body

而且,这是回复:

{
"error": "invalid_scope",
"error_description": "AADSTS70011: The provided value for the input parameter 'scope' 
is not valid. The scope https%3A%2F%2Fapi.botframework.com%2F.default is not valid.
\r\nTrace ID: 8b09d0ba-3ec0-4f15-9280-7527d46c1600\r\nCorrelation ID: 43b0fa8f-5b73-444c-
a1e4-9f3dd82c0d86\r\nTimestamp: 2017-05-30 22:17:05Z",
"error_codes": [70011],
"timestamp": "2017-05-30 22:17:05Z",
"trace_id": "8b09d0ba-3ec0-4f15-9280-7527d46c1600",
"correlation_id": "43b0fa8f-5b73-444c-a1e4-9f3dd82c0d86"
}

有谁知道问题是什么?我按照说明操作,确定客户端ID和密码ID是正确的。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

我认为Postman和cURL没有以同样的方式处理参数。我使用您的参数进行了测试并获得了相同的结果,但我只是通过避免在scope值:https://api.botframework.com/.default而不是https%3A%2F%2Fapi.botframework.com%2F.default中对网址进行编码而使其与Postman合作。

见下面的捕获: working version

无需在标题部分指定主机。