gpt4 book ai didi

javascript - 如何在 php codeigniter 中使用指向 localhost 的 trello webhookcallbackURL?

转载 作者:行者123 更新时间:2023-12-03 02:04:17 27 4
gpt4 key购买 nike

我在 codeigniter 中创建了一个基于 Web 的系统,并使用其 API 服务进行了一些 trello 集成。我想要实现的目标是,如果在特定板上创建了一张新卡,它也会在我的系统中发送一条通知,告知已创建新卡。我开始阅读 trello webhooks 中的一些文档,但我就是不明白。我的方向正确吗?如果我提供一个指向 localhost callbackURL: "localhost/main_controller/trelloCallback" 的回调URL,它是否有效?但是下面的代码会返回 400 状态。请帮我。谢谢。

Javascript

$.post("https://api.trello.com/1/tokens/5db4c9fbb5b2kaf8420771072b203616f3874fa92a4c57f0c796cf90819fa05c/webhooks?key=a2a93deccc7064dek5f4011c2e9810d6", {
description: "My first webhook",
callbackURL: "localhost/dti_infosys/main_controller/trelloCallback",
idModel: "5a73c33ad9a2dk1b473612eb",
});

ma​​in_controller/trelloCallback

function trelloCallback() {
$json = file_get_contents('php://input');
$action = json_decode($json,true);
var_dump($action);
}

enter image description here

最佳答案

我知道这是一个老问题,但是让外部工具访问我们的本地主机进行开发的用例非常常见。

因此,对于任何希望基于云的服务能够调用本地端点的人(包括 OP),您可以使用类似 ngrok 的工具。 .

基本上,它设置一个可通过互联网访问的 URL,将所有调用转发到您的本地端口之一。

假设运行 PHP 的本地网络服务器监听计算机上的端口 8000。

安装了 ngrok 后,您可以执行以下命令:

$> ngrok http 8000

这将设置转发 session :

ngrok by @inconshreveable

Session Status online
Session Expires 6 hours, 21 minutes
Version 2.3.35
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://b5d44737.ngrok.io -> http://localhost:8000
Forwarding https://b5d44737.ngrok.io -> http://localhost:8000

然后,您可以使用任何指向 ngrok.ioForwarding 地址通过互联网访问您的本地网络服务器,这意味着如果您要使用任何这些地址而不是 localhost 到外部工具,它将能够间接调用您的本地端点。

在您的情况下,创建 Trello webhook 的 javascript 调用将是:

$.post("https://api.trello.com/1/tokens/<YOUR_ACCESS_TOKEN>/webhooks?key=<YOUR_API_KEY>", {
description: "My first webhook",
callbackURL: "https://b5d44737.ngrok.io/dti_infosys/main_controller/trelloCallback",
idModel: "<YOUR_MODEL_ID>",
});

但有一点警告:对于 ngrok,转发 URL 在每次 session 启动时都是随机的,这意味着您在一个 session 中创建的 Webhooks 不会工作另一个 session ,因为回调 URL 将不再有效。请注意,您可以订阅付费计划来“保留”ngrok 子域并在 session 之间保持 URL 一致性。或者,您可以使用新的转发 URL 手动更新您的 webhookscallbackUrls。

无论如何,我希望这会有所帮助!

P.S.:当转发 session 运行时,您可以访问 localhost:4040 来检查对转发 URL 进行的调用并重试其中的一些调用。

关于javascript - 如何在 php codeigniter 中使用指向 localhost 的 trello webhookcallbackURL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49871514/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com