Square Connect - 使用 PHP 检索返回 INVALID_REQUEST_ERROR 的订阅 API 调用

问题描述 投票:0回答:1

我正在使用 PHP 和 curl_init 函数来尝试运行检索订阅 API 调用。这是我的代码:

$curl_url = "https://connect.squareup.com/v2/subscriptions/" . $subscriptionID;

system_log("curl_url is $curl_url");

if (($subscriptionID != "") && ($curl_url != "")) {
    $ch = curl_init($curl_url);
    curl_setopt_array($ch, array(
        CURLOPT_POST => TRUE,
        CURLOPT_RETURNTRANSFER => TRUE,
        CURLOPT_HTTPHEADER => array(
            'Square-Version: 2023-09-25',
            'Authorization: Bearer ' . $GLOBALS['square_access_token'],
            'Content-Type: application/json'
        )
    ));

    $response = curl_exec($ch);
    system_log("response is $response");
}

system_log 只是一个简单的函数,我必须将信息记录到数据库中。我不断得到的$回应是:

{
  “errors”: [{
    “category”: “INVALID_REQUEST_ERROR”,
    “code”: “NOT_FOUND”,
    “detail”: “Resource not found.”
  }]
}

我已验证 $subscriptionID 变量是否正确传入,并且 $curl_url 值是否已正确设置。我还使用他们的 API Explorer 验证了 $subscriptionID 是否有效,我在其中获得了返回的有效数据。

我正在使用 API 进行更复杂的调用,使用完全相同的代码格式,所以我完全不知道为什么(应该是什么)我必须进行的最简单的调用失败了......

提前感谢您的帮助!

square-connect
1个回答
0
投票

嗯,我明白了...

进行此 API 调用时,CURLOPT_POST 需要设置为 FALSE...所有其他调用都可以像 POST 调用一样正常工作...但显然这个必须是 GET 调用...

© www.soinside.com 2019 - 2024. All rights reserved.