为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
凤凰求蛊 2022-01-24 13:08:51
我使用 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>我做了一些研究,但找不到任何可以解决我的问题的东西。我真的需要你的帮助。
查看完整描述

1 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

您可以使用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 header

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // To get actual result from the successful operation

curl_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 POST

curl_setopt($curl, CURLOPT_URL, $apiURL); // Pass the API URL

curl_setopt($curl, CURLOPT_POSTFIELDS, $postData); // Set the posted fields

curl_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 session


curl_close($curl); // Close a cURL session

希望这对你有帮助!


查看完整回答
反对 回复 2022-01-24
  • 1 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信