簡體   English   中英

Azure Function通用Webhook

[英]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和鍵。 我在我這邊進行了測試,功能鍵可以通過服務器的驗證。

在此處輸入圖片說明

有關功能鍵和主機鍵的更多信息,下面的鏈接供您參考。

Azure Function WebHook API密鑰

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM