Microsoft Graph WebHook:订阅验证请求超时

时间:2017-01-12 19:42:54

标签: office365 microsoft-graph office365api

这是我用来在微软图中创建订阅的ruby代码:

subscribe_endpoint = URI("https://graph.microsoft.com/v1.0/subscriptions")
http = Net::HTTP.new(subscribe_endpoint.host, subscribe_endpoint.port)
http.use_ssl = true
tomorrow = Date.today + 1

subscribe_request = "{
  \"changeType\": \"created,updated\",
  \"notificationUrl\": \"https://my_url/api/v1/outlook/o365notification\",
  \"resource\": \"/users/#{params[:o365account_id]}/events?$filter=Extensions/any(f:f/id eq 'Microsoft.OutlookServices.OpenTypeExtension.meeteor_event')\",
  \"expirationDateTime\": #{(Time.now + 1.day).to_json},
  \"clientState\": \"SecretClientState\"
}"

subscribe_response = http.post(
    "/v1.0/subscriptions",
    subscribe_request,
    'Authorization' => "Bearer #{params[:o365account_access_token]}",
    'Content-Type' => 'application/json'
)

效果很好,但今天我突然得到Subscription validation request timed out回复。当我正在https://my_url/api/v1/outlook/o365notification进行POST时,它正常工作。

当我身边没有任何改变时,为什么它停止工作的任何想法?

可能是这样,因为my_url指向我的开发环境并且经常处于脱机状态,域名被禁止了吗?

1 个答案:

答案 0 :(得分:3)

您的通知服务器可能有一些更改,无论是服务还是网络配置。它不响应验证请求。我还尝试使用HTTP而不是HTTPS向您的服务器发出POST请求,它返回200但在响应正文中没有验证令牌。