gpt4 book ai didi

javascript - 如何使用 UrlFetchApp.fetch(url, params) 在 Google Apps 脚本中正确查询 Facebook Graph API?

转载 作者:行者123 更新时间:2023-11-28 03:17:01 28 4
gpt4 key购买 nike

我正在尝试使用 Google Apps 脚本从 Facebook Graph API 检索特定链接 ( https://www.theverge.com/2019/10/25/20932653/facebook-news-breitbart-mark-zuckerberg-statement-bias ) 的一组信息。

我可以使用以下 URL 获取信息(已删除访问 key ):

https://graph.facebook.com/v5.0/?id=https://www.theverge.com/2019/10/25/20932653/facebook-news-breitbart-mark-zuckerberg-statement-bias&fields=og_object{title,description,site_name,id,image},engagement&metadata=1&access_token=XXXXXXXXXXXXXX

但是当我尝试在 Google 脚本编辑器中使用以下代码时,收到错误消息:

function myFunction() {


var url = 'https://graph.facebook.com/v5.0/';
var params = {
"method": 'GET',
"id":"https://www.theverge.com/2019/10/25/20932653/facebook-news-breitbart-mark-zuckerberg-statement-bias",
"fields":"og_object{title,description,site_name,id,image},engagement",
"access-token": 'XXXXXXXXXXXXXXXXX',
};

// Call the Facebook API
var response = UrlFetchApp.fetch(url, params);


// Parse the JSON reply
var json = response.getContentText();
var data = JSON.parse(json);

Logger.log(json);

}

错误:

Request failed for https://graph.facebook.com returned code 400. Truncated server response: {"error":{"message":"Unsupported get request. Please read the Graph API documentation at https:\/\/developers.facebook.com\/docs\/graph-api","type"... (use muteHttpExceptions option to examine full response) (line 15, file "Code")

如何正确发出请求并返回 JSON 响应?

最佳答案

考虑到您正在尝试访问 URL Node图形 API 的说明:

  • 您应该删除请求中指定的、documentation 中未指定的字段。 。它们是:site_nameimage

  • 您应该将查询字符串直接包含在请求的 URL 中。请注意,URLFetch 的 fetch(url, params)params 参数不是查询字符串,而是文档中描述的一些特定参数。

对代码进行可能的修改以修复上述要点,可能如下所示:

function myFunction() {
var base_url = 'https://graph.facebook.com/v5.0/?id=%s&fields=%s&access_token=%s';

var id_param = encodeURIComponent("https://www.theverge.com/2019/10/25/20932653/facebook-news-breitbart-mark-zuckerberg-statement-bias");
var fields_param = encodeURIComponent("og_object{title,description,site_name,id,image},engagement");
var access_token = "XXXXXXXXXXXXXXXXX";

var url = Utilities.formatString(base_url, id_param, fields_param, access_token);

// Call the Facebook API
var response = UrlFetchApp.fetch(url);


// Parse the JSON reply
var json = response.getContentText();
var data = JSON.parse(json);

Logger.log(json);

}

引用 - 使用的函数

关于javascript - 如何使用 UrlFetchApp.fetch(url, params) 在 Google Apps 脚本中正确查询 Facebook Graph API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59543877/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com