[英]Azure Function Generic Webhook
使用Visual Studio 2017,我使用通用WebHook創建了Function App:
public static class FunctionWebHook
{
[FunctionName("FunctionWebHook")]
public static async Task<object> Run([HttpTrigger(WebHookType = "genericJson")]HttpRequestMessage request, TraceWriter log)
{
log.Info($"Webhook was triggered!");
string jsonContent = await request.Content.ReadAsStringAsync();
log.Info(jsonContent);
return request.CreateResponse(HttpStatusCode.NoContent);
}
}
該代碼僅是默認模板。 我將此部署到我的Azure帳戶並嘗試調用它。 我使用門戶網站上的“獲取功能網址”鏈接來獲取正確的網址,其中包括代碼和clientId參數。 當我嘗試將JSON發布到函數(內容類型設置為application / json)時,我收到400錯誤的請求:
{"Message":"The 'code' query parameter provided in the HTTP request did not match the expected value."}
我檢查了code參數,它是正確的。 我還多次重新創建了功能應用程序,但是我仍然收到錯誤消息。 當我使用Portal的Run命令調用該函數時,它將正確執行。
有人遇到過這個問題嗎?
因此,我將Restlet Client用於任何API工作,似乎有一個奇怪的問題。 我從門戶網站復制了默認值(主機密鑰),並將URL粘貼到Restlet客戶端中,由於某種原因,代碼參數的最后一個'=='被刪除了。 我使用Postman嘗試了該請求,該請求成功了!
感謝您的所有評論和回復!
您選擇了哪個密鑰來驗證您的請求? 有3種鍵。 請選擇默認值(功能鍵)並使用生成的URL和鍵。 我在我這邊進行了測試,功能鍵可以通過服務器的驗證。
有關功能鍵和主機鍵的更多信息,下面的鏈接供您參考。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.