2 回答
TA贡献1829条经验 获得超9个赞
有很多事情你需要改变。
1) 您正在使用您的私人登录 URL - https://my.apify.com/tasks/xLojrg7GEYkQbGBBL。相反,您需要检查正确 URL 上的 API 选项卡以通过 API 调用此任务 - https://api.apify.com/v2/actor-tasks/xLojrg7GEYkQbGBBL/runs?token=YOUR_TOKEN(交换您的 Apify API 令牌从您的帐户标签)
2)您传递查询的字段不被称为initialRequests
但是queries
。查看您的任务,将您的输入切换为 JSON,您将看到如何在 JSON 中调用这些字段。
3) 不幸的是,目前 Apify 不允许通过单个 API 调用获取数据集数据(例如来自 Google Search Scraper)以进行更长时间的运行。查看这篇解释如何通过 API 集成的文章。
TA贡献1818条经验 获得超7个赞
获取内容文本HTTPResponse。
改变:
Logger.log(test);
至:
Logger.log(test.getContentText());
根据UrlFetchApp文档,该fetch()方法返回一个类型为: 的对象HTTPResponse。您希望通过将getContentText()方法应用于HTTPResponse对象来获取内容文本。如下。
// Make a GET request and log the returned content.
var response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());
更改请求参数以符合文档。
改变:
initialRequests : 'banks in phoenix',
至:
queries: 'banks in phoenix',
在此处查看 Google Search Results Scraper 文档。
下表显示了由其输入模式定义的参与者 INPUT 字段的规范。当使用 API 运行 actor 时,可以 [...] 在 JSON 对象中提供这些字段。在文档中阅读更多内容。
...
搜索查询或 URL
Google 搜索查询(例如纽约市的食物)和/或完整 URL(例如https://www.google.com/search?q=food+NYC)。
每行输入一项。
可选
类型:字符串
JSON 示例
"queries": "Hotels in NYC
Restaurants in NYC
https://www.google.com/search?q=restaurants+in+NYC"
因此,总而言之,尝试将您的代码更改为以下内容。
const runSearch = () => {
const formData = {
queries: 'banks in phoenix',
};
const options = {
method: 'post',
payload: formData,
};
const test = UrlFetchApp.fetch(
'https://my.apify.com/tasks/<my-task-id>',
options,
);
const response = test.getContentText();
Logger.log( 'response\n%s', response, );
}
添加回答
举报