这是我第一次尝试使用API与PHP连接Smartsheet中的工作表。
我似乎无法连接并给我这个错误。
注意:尝试在第22行的C:\xampp\htdocs\smartsheet\test.php中获取非对象的属性。
变量$sheetObj为空。
在Authorization: Bearer中,Bearer是什么意思?它是一个象征性的名称,还是始终是比勒?
我的未来计划是使用PHP编写smartsheet行。有人能给我建议一下我的代码出了什么问题吗?
$baseURL = "https://api.smartsheet.com/1.1";
$sheetsURL = $baseURL . "/sheets/";
$getSheetURL = $baseURL . "/sheet/xxxxxxxxxxx";
$rowsURL = $baseURL . "/sheet/xxxxxxxxxxx/rows";
$accessToken = "xxxxxxxxxxxxxxxxxx";
// Create Headers array for cURL
$headers = array(
"Authorization: Bearer " . $accessToken,
"Content-Type: application/json"
);
$curlSession = curl_init($getSheetURL);
curl_setopt($curlSession, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, TRUE);
$getSheetResponseData = curl_exec($curlSession);
$sheetObj = json_decode($getSheetResponseData);
echo "<h1>Sheet name: ". $sheetObj->name ."</h1>";发布于 2017-02-08 02:53:44
“和你会看到很多相关的帖子。从本质上说,这个错误意味着您的代码将某些东西视为一个实际上不是对象的对象。例如,如果API请求以前由于某种原因而失败,并且因此$sheetObj的内容实际上不是一个对象,那么当您尝试访问$sheetObj的$sheetObj属性时,就会发生这种情况。
我对PHP不是很熟悉,但我怀疑(基于错误消息,再加上您说"var_dump($getSheetResponseData) is Bool(false)“) "Get”请求可能不会返回成功的响应。要排除故障,我建议您尝试使用Postman (https://www.getpostman.com/)之类的工具或通过带有cURL的命令行运行完全相同的“获取表”请求(即具有相同的URI,包括工作表Id),并查看是否获得了成功的响应。如果您可以通过Postman或cURL让您的请求工作,那么更新代码以发送相同的请求应该是非常简单的,从而获得成功的响应。有关使用Postman或cURL:http://smartsheet-platform.github.io/api-docs/#api-troubleshooting的API故障排除技术的信息,请参阅Smartsheet文档的本节。
https://stackoverflow.com/questions/42101710
复制相似问题