Microsoft Graph WebHook:订阅验证请求超时
Microsoft Graph WebHook: Subscription validation request timed out
这是我用来在 Microsoft Graph 中创建订阅的 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
回复。虽然当我做 POST 到 https://my_url/api/v1/outlook/o365notification
时它工作正常。
知道为什么当我这边什么都没有改变时它停止工作了吗?
难道是因为 my_url
指向我的开发环境并且经常离线,所以域被禁止了?
您的通知服务器可能发生了一些变化,无论是服务配置还是网络配置。它不响应验证请求。我还尝试 POST 使用 HTTP 而不是 HTTPS 向您的服务器请求,它返回 200 但响应正文中没有验证令牌。
这是我用来在 Microsoft Graph 中创建订阅的 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
回复。虽然当我做 POST 到 https://my_url/api/v1/outlook/o365notification
时它工作正常。
知道为什么当我这边什么都没有改变时它停止工作了吗?
难道是因为 my_url
指向我的开发环境并且经常离线,所以域被禁止了?
您的通知服务器可能发生了一些变化,无论是服务配置还是网络配置。它不响应验证请求。我还尝试 POST 使用 HTTP 而不是 HTTPS 向您的服务器请求,它返回 200 但响应正文中没有验证令牌。