我正在尝试从Rails 5应用程序与Office 365 API进行通信。我无法申请我需要的“范围”。根据这篇文章https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-compare/,我需要将范围作为额外参数发送到请求中。我已将范围添加到https://apps.dev.microsoft.com/的应用程序注册中,但这似乎还不够。我试图请求的范围是Calendar.ReadWrite和offline_access。使用OAuth2 ruby gem,如何将这些范围作为请求的一部分发送?我正在创建我的OAuth客户端,如下所示:
client = OAuth2::Client.new(ENV['APPLICATION_ID_OUTLOOK_API'],
ENV['APPLICATION_ID_OUTLOOK_SECRET'],
:site => "https://login.microsoftonline.com",
:authorize_url => "/common/oauth2/v2.0/authorize",
:token_url => "/common/oauth2/token")
我已尝试将另一个哈希添加到此构造函数中,如下所示:
:scope => "https://outlook.office.com/calendar.readwrite https://outlook.office.com/offline_access"
但这不起作用。
我的目的是使用outlook_ruby gem来读取和写入日历。据我所知,这个gem需要outlook.office.com范围才能运行。目前,当我尝试使用OAuth令牌执行任何功能时,我从此请求中返回,我收到了401 Unauthorized消息。