我试图弄清楚为什么这段代码不适用于Google Apps脚本网络应用网址,但它可以与随机的网络API网址一起使用?
第一个代码块从虚拟 API 获取数据。第二个代码块不会从 Google Apps 脚本网络应用网址中返回任何内容。代码中唯一的区别是变量值$url。
GAS应用程序设置为Web应用程序,因此任何人,即使是匿名者都可以访问它(下面的屏幕截图)。如果我直接转到GAS url GAS Output,它将返回JSON。
Google Apps 脚本代码位于第三个代码块的下方。
有什么想法吗?
多亏了塔奈克,问题解决了!!粘贴在问题底部的工作代码。
第一个代码块
<?php
// Initiate curl session in a variable (resource)
$curl_handle = curl_init();
$url = "http://dummy.restapiexample.com/api/v1/employees";
// Set the curl URL option
curl_setopt($curl_handle, CURLOPT_URL, $url);
// This option will return data as a string instead of direct output
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
// Execute curl & store data in a variable
$curl_data = curl_exec($curl_handle);
curl_close($curl_handle);
// Decode JSON into PHP array
$user_data = json_decode($curl_data);
// Print all data if needed
print_r($user_data);
?>
第二个代码块
<?php
// Initiate curl session in a variable (resource)
$curl_handle = curl_init();
$url = "https://script.google.com/macros/s/AKfycbyWSDzUyFa41fu_6QWP7h8ToklwWysGZsuSPaRnu649DmPNYG8/exec";
// Set the curl URL option
curl_setopt($curl_handle, CURLOPT_URL, $url);
// This option will return data as a string instead of direct output
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
// Execute curl & store data in a variable
$curl_data = curl_exec($curl_handle);
curl_close($curl_handle);
// Decode JSON into PHP array
$user_data = json_decode($curl_data);
// Print all data if needed
print_r($user_data);
?>
第一个代码块:GAS代码
function doGet(e) {
var data = {
status: 'success',
dataSet: 'Some Info'
};
var output = JSON.stringify(data);
return ContentService.createTextOutput(output).setMimeType(ContentService.MimeType.JSON);
}
工作代码,谢谢田奈克!!
<?php
// Initiate curl session in a variable (resource)
$curl_handle = curl_init();
$url = "https://script.google.com/macros/s/AKfycbyWSDzUyFa41fu_6QWP7h8ToklwWysGZsuSPaRnu649DmPNYG8/exec";
慕尼黑8549860
尚方宝剑之说