# aardio 范例: 调用  SerpAPI 的示例与要点说明

```aardio
//调用  SerpAPI 的示例与要点说明
import console;
import string.escape2;
import web.rest.jsonClient;

// 创建 REST 客户端
var serClient = web.rest.jsonClient();

// 声明 API，指定基础地址
var serpApi = serClient.api("https://serpapi.com/search");

console.showLoading(" 正在搜索 ");

//使用时可以去掉 string.escape2 直接填 key，string.escape2 只是防止机器人抓取示范源码中的 key
//临时 key ，即将失效，请自己去 erpapi.com 申请一个永久 key（免费的）
var tempKey = string.escape2('\0\48\9\84\81\85\86\8\2\81\4\81\5\85\0\2\3\2\0\86\2\7\1\8\6\1\1\8\3\0\85\82\86\1\9\86\2\83\2\81\85\7\6\1\3\7\9\8\5\84\1\84\84\81\84\86\7\82\8\9\83\7\8\81\84\0');

// 调用搜索接口
// 更多参数参考：https://serpapi.com/search-api
var result, err = serpApi.get(
    q = "aardio 如何读写 yaml";
    engine = "google"; 
    hl="zh-cn";
    gl="us";
    api_key = tempKey;
    num = 2;//限制搜索结果返回条数，过多是不必要的，用于 AI 搜索时如果返回条数过多抓取内容会比较慢
);

if(!result){
    console.error(err || "请求失败");
}
else {
    // 解析返回的搜索结果（通常在 organic_results 数组中）
    var items = result[["organic_results"]];
    
    if(items){
        for(i=1;#items;1){
            var item = items[i];
            import console
            console.dumpJson(item)
            console.log(i + ". " + (item.title : "无标题"));
            console.log("   链接:", item.link);
            console.log("   摘要:", item.snippet);
            console.log( string.repeat(20,"-") );
        }
    }
    else {
        console.log("未找到相关结果，请检查 API Key 是否有效。");
        console.dump(result); // 打印完整响应以供排查
    }
}

/*
//可用于 AI 搜索: https://www.aardio.com/zh-cn/doc/example/AI/search.html
var msg = web.rest.aiChat.message();
msg.url(result[["organic_results"]])
*/

console.pause();
```