【问题标题】:What scope should we use to sent messages to skype bot我们应该使用什么范围向 Skype bot 发送消息
【发布时间】:2016-11-07 04:02:46
【问题描述】:

使用https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-protocols-oauth-code/,我能够生成访问令牌。但是,当我尝试使用使用上述 url 中定义的范围生成的访问令牌向 Skype 机器人发送消息时,我得到一个“401:提供的'OAuth'票证身份验证失败。”错误。当我生成代码或访问令牌以通过 API (https://docs.botframework.com/en-us/skype/chat/#rest-api) 向 Skype 机器人发送消息时,我应该使用什么范围。在 skype/chat/#authentication 下指定的范围甚至不带我到登录页面生成代码。

【问题讨论】:

    标签: oauth botframework


    【解决方案1】:

    要生成令牌,您应该执行https://api.botframework.com/en-us/skype/chat/#authentication 中描述的 HTTP 调用,即

    POST /common/oauth2/v2.0/token HTTP/1.1 
    Host: login.microsoftonline.com 
    Content-Type: application/x-www-form-urlencoded
    
    client_id=<your bot msa app id>&client_secret=<your bot secret>&grant_type=client_credentials&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default
    

    所以范围是'https://graph.microsoft.com/.default'。

    【讨论】:

    • 使用这个令牌我们可以发送消息,但是它的生命周期很短,只有 1 小时,并且不能被刷新,因为我们没有任何 refresh_token。我们需要生成一个令牌,它可以用来向 BOT 发送消息,并且可以刷新以备将来使用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 2017-10-23
    • 2016-09-04
    • 2021-09-10
    • 1970-01-01
    相关资源
    最近更新 更多