簡體   English   中英

如何使用tradingview和php獲取webhook響應數據

[英]How to get webhook response data using tradingview and php

我正在嘗試使用 webhook 和交易視圖警報將 Tradingview 信號發送到我的遠程 php 腳本。 我不能成功。 我正在走這條路

在我的交易觀點策略中,我有這個

strategy.entry("Long", strategy.long, alert_message = "entry_long")
strategy.exit("Exit Long", "Long", limit=LONG_take_profit, stop=LONG_stop_loss, alert_message = "exit_long")

然后我將警報設置如下

交易視圖警報

然后我設置一個 PHP 腳本如下從交易視圖接收 POST curl JSON 數據

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // fetch RAW input
    $json = file_get_contents('php://input');

    // decode json
    $object = json_decode($json);

    // expecting valid json
    if (json_last_error() !== JSON_ERROR_NONE) {
        die(header('HTTP/1.0 415 Unsupported Media Type'));
    }

    $servdate2 = time();
    $servdate=date('d-M-Y H:i:s',$servdate2);    
    file_put_contents("/home/user/public_html/data.txt", "$servdate :".print_r($object, true),FILE_APPEND);   
}

我通過 email 正確收到警報,但我沒有收到 /home/user/public_html/data.txt 中的數據。 我究竟做錯了什么? 如何將 Tradingview JSON 數據發送到我的遠程 PHP 腳本?

我不熟悉 PHP,但你問過:

如何將 Tradingview JSON 數據發送到我的遠程 PHP 腳本?

當前在alert_message參數中寫入的alert消息無效 JSON,因此它以 txt/plain 內容類型發送。 如果您希望將alert作為 application/json 發送,您需要將其包含在有效的 JSON 中。

Webhooks 允許您在每次觸發警報時向某個 URL 發送 POST 請求。 創建或編輯警報時可以啟用此功能。 為您的應用添加正確的 URL,我們將在觸發警報后立即發送 POST 請求,並在請求正文中包含警報消息。 如果警報消息有效 JSON,我們將發送內容類型為“application/json”的請求 header。否則,我們將發送內容類型為“text/plain”的請求 header。

您可以在此處閱讀更多相關信息。

編輯:您可以對您的代碼進行細微調整,它將作為 JSON 發送:

strategy.entry("Long", strategy.long, alert_message = '{"message": "entry_long"}')
strategy.exit("Exit Long", "Long", limit=LONG_take_profit, stop=LONG_stop_loss, alert_message = '{"message": "exit_long"}')

將腳本替換為:

<?php

file_put_contents("/home/user/public_html/data.txt", print_r([$_GET, $_POST, $_SERVER], true));

更好地理解傳入的數據。

也許數據存在於$_POST變量中,如果沒有,請在此處發布整個結果(通過 pastebin)。

(還要確保 PHP 腳本以<?php

暫無
暫無

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

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