如何在 PHP 中发出这个 api 发布请求?

我使用 ajax 对 api 进行了发布请求。我想知道如何在 php 中做同样的事情。


<script type="text/javascript">

  var cbIntegrationId = "xxxxxx"; // I have it

  var clientId = "xxxxxxx"; //I have it

  var clientSecret = "xxxxx"; //I have it

  var tableName = "Test_Database";


    //Get access token

    $.post(

      "https://" + cbIntegrationId + ".caspio.com/oauth/token",

      {

        grant_type: "client_credentials",

        client_id: clientId,

        client_secret: clientSecret

      },

      function(cbAuth){

        //Run POST call

        $.ajax({

          url: "https://" + cbIntegrationId + ".caspio.com/rest/v2/tables/" + tableName + "/records?response=rows",

          type: 'POST',

          'data': JSON.stringify({"UniqueID":"988"}), //Define record values

          headers: {

            "Authorization": "Bearer " + cbAuth.access_token, //Extracts the access token from the initial authorization call

            "Content-Type": "application/json", //Required, otherwise 415 error is returned

            "Accept": "application/json"

          },

          dataType: 'json',

          success: function (data) {

            console.log(data.Result); //Check the console to view the new added row

          },

          error: function(data) {

            console.log(data.responseJSON); //Check the console to view error message if any

          }

        });

      }

    );

</script>

我做了一些研究,但找不到任何可以解决我的问题的东西。我真的需要你的帮助。


凤凰求蛊
浏览 177回答 1
1回答

DIEA

您可以使用cURL通过 PHP 调用 API。因此,根据您的情况,您正在使用 POST 方法发送数据。因此,我们可以使用 cURL,如下所示,带有一些标头,$apiURL = "https://yourURL";$uniqueID = "UniqueID:988";$postData = json_encode($uniqueID); // Encode the data into a JSON string$authorization = "Authorization: Bearer " . $token; // Prepare the authorization token$curl = curl_init();curl_setopt($curl, CURLOPT_HTTPHEADER, array($authorization, 'Content-Type: application/json', 'Accept : application/json')); // Inject the token into the headercurl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // To get actual result from the successful operationcurl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); // Specify HTTP protocol version to use;curl_setopt($curl, CURLOPT_POST, 1); // Specify the request method as POSTcurl_setopt($curl, CURLOPT_URL, $apiURL); // Pass the API URLcurl_setopt($curl, CURLOPT_POSTFIELDS, $postData); // Set the posted fieldscurl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // This will follow any redirects$response = curl_exec($curl); // Here you will get the response after executing$error = curl_error($curl); // Return a string containing the last error for the current sessioncurl_close($curl); // Close a cURL session希望这对你有帮助!
打开App,查看更多内容
随时随地看视频慕课网APP