1

我正在使用客户的第三方 API,我能够成功发布到他们的端点,但没有太多 API 经验我不确定如何处理 Postman 呈现给 WordPress 钩子的 PHP 代码片段,这是一个提交表单后的重力表单挂钩。

查看下面的代码片段,我确实看到了一些我觉得复制过来没有好处的实例,比如 Postman-Token 和 Cookie。我只是找不到让基本身份验证工作的方法。

add_action( 'gform_after_submission_3', 'send_API', 10, 2 );
function send_API($entry, $form){
    $request = new HttpRequest();
    $request->setUrl('https://xxx.ddd.com/api/v1/leads');
    $request->setMethod(HTTP_METH_GET);

    $request->setHeaders(array(
      'cache-control' => 'no-cache',
      'Connection' => 'keep-alive',
      'content-length' => '231',
      'accept-encoding' => 'gzip, deflate',
      'cookie' => 'PSI_SESSION_ENT=ENT-bd0c3dsefe2b72d224aabec0d5991493f8de',
      'Host' => 'xxx.ddd.com',
      'Postman-Token' => '25b29855-79e0-4131ds-a099-3be03dsdc9eb6c6,7dc5458ddb-fc5a-4543-8ed5-5e3be5c883f3',
      'Cache-Control' => 'no-cache',
      'Accept' => '*/*',
      'User-Agent' => 'PostmanRuntime/7.13.0',
      'Authorization' => 'Basic Zm9ydGhlYV9hcGlAdGRjbWdtdDpGb3J0aGVhNTI5MjAxOSM=',
      'Content-Type' => 'application/json'
    ));

    $request->setBody('{
        "auth": {
            "type": "basic"
        },
        "requestId": "xx",
        "method": {
            "name": "name",
            "version": "r2",
            "params": {
                "propertyId": "xxx"
            }
        }
    }');

    try {
      $response = $request->send();

      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
}
4

0 回答 0