0

我正在使用 Podio PHP API,我想验证一个 webhook,如下所示:https://developers.podio.com/examples/webhooks

我的服务器上有一个测试脚本:http://qvido.se/api/podio/ValidateHook.php其中包含以下代码:

<?php
    require_once('Depend/PodioAPI.php');
    require_once('Depend/config.php');

    error_log("validate triggerd");

    // Setup client
    Podio::setup($client_id, $client_secret);

    // Turn on debugging
    Podio::$debug = true;

    // Authenticate the application
    Podio::authenticate('app', array('app_id' => MY_APP_ID, 'app_token' => 'MY_APP_TOKEN'));

    switch ($_POST['type']) {
        case 'hook.verify':
            // Validate the webhook
          PodioHook::validate($_POST['hook_id'], array('code' => $_POST['code']));
        case 'item.create':
            // Do something. item_id is available in $_POST['item_id']
        case 'item.update':
            // Do something. item_id is available in $_POST['item_id']
        case 'item.delete':
            // Do something. item_id is available in $_POST['item_id']
    }
?>

在 Podio UI 中点击Verfiy时,它似乎没有$_POST向我的脚本发送请求。我打开了调试模式,但 podio.log 文件中没有记录任何内容。相反,它在尝试将$_POST请求发送到我的脚本时显示 302 错误代码。

我认为我的脚本根本不会被调用。我怎样才能做到这一点?

4

1 回答 1

1

假设所有其他变量都已正确定义,您的静态 Podio::authenticate() 方法中仍然存在错误。

只需从 MY_APP_TOKEN 中去掉引号:

所以

    Podio::authenticate('app', array('app_id' => MY_APP_ID, 'app_token' => 'MY_APP_TOKEN'));

应该更好

   Podio::authenticate('app', array('app_id' => MY_APP_ID, 'app_token' => MY_APP_TOKEN));

干杯!

于 2013-09-04T17:17:37.880 回答