Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用谷歌应用程序脚本';这是facebook的片段吗?_Javascript_Facebook Graph Api_Google Apps Script_Http Status Code 403 - Fatal编程技术网

Javascript 如何使用谷歌应用程序脚本';这是facebook的片段吗?

Javascript 如何使用谷歌应用程序脚本';这是facebook的片段吗?,javascript,facebook-graph-api,google-apps-script,http-status-code-403,Javascript,Facebook Graph Api,Google Apps Script,Http Status Code 403,我正在尝试建立一个基于谷歌应用程序脚本和谷歌表单的小应用程序 到目前为止,我能够获得facebook页面提要,并能够通过Oauth2库连接到facebook应用程序,并获得代币 所以我正在努力编写发布到facebook的代码 目前我得到了facebook页面提要,但是facebook的post格式文档是指javascript SDK,这里我没有使用SDK和图形API来引用post和GET请求,我认为这在这里也不起作用。 这是我获取facebook令牌和页面提要的代码 有人认为这是一个重复的问题,

我正在尝试建立一个基于谷歌应用程序脚本和谷歌表单的小应用程序 到目前为止,我能够获得facebook页面提要,并能够通过Oauth2库连接到facebook应用程序,并获得代币

所以我正在努力编写发布到facebook的代码

目前我得到了facebook页面提要,但是facebook的post格式文档是指javascript SDK,这里我没有使用SDK和图形API来引用post和GET请求,我认为这在这里也不起作用。 这是我获取facebook令牌和页面提要的代码

有人认为这是一个重复的问题,但这些问题和答案不适合我的问题,我希望facebook的帖子格式,如果它是与有效载荷,请包括这些有效载荷选项,或有人可以编辑以下代码的帖子

我可以使用页面访问令牌而不是用户访问令牌发布到页面 粘贴页面访问令牌也会引发相同的错误

更新了代码,但错误如下所示


请求页面/feed?message=hello?access_token=令牌失败返回代码403。截断的服务器响应:{“错误”:{“消息”:“(#200)如果发布到组,则需要在组中安装应用程序,并且\\n发布到组权限…(使用muteHttpExceptions选项检查完整响应)(第53行,文件“FB postinf”)

代码更新

 function example() {

var service = getService();
  if (service.hasAccess())
   var data = {
    "message" : "Me Testing",
    //"slug" : "me-testing",
   // "text_to_subscribe" : "true"
  };
  var payload = JSON.stringify(data);
  var options = {
    "method" : "POST",
    "contentType" : "application/json",
    "payload" : payload
  };
  var url = "https://graph.facebook.com/v3.2/PAGENAME/feed?message=hello?access_token=ManuallyPastedTOKEN";
  // + '?access_token=' + encodeURIComponent(service.getAccessToken());
  var response = UrlFetchApp.fetch(url, options);
  }


这是使用OAuth2获取提要

function sasublish(){

var service= getService()
if (service.hasAccess()) {

  var url = 'https://graph.facebook.com'
    + '/pagename/feed'
    +'?fields='+ encodeURIComponent("name,full_picture,message,attachments{subattachments,url}")

  +'&access_token='+ service.getAccessToken();


    var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});

    var json = response.getContentText();
    var jsondata = JSON.parse(json);
 } 

需要可以使用的oAuth2和Facebook.gs代码段

.setScope(“发布页面、管理页面、页面显示列表”)

应该添加到facebook.gs

函数示例(){
var service=getService();
if(service.hasAccess())
var url=https://graph.facebook.com/v2.6/PAGEID?fields=access_token“;//指定的页标记
//var url='1〕https://graph.facebook.com/v2.6/me/accounts?“;//标记和页面
var response=UrlFetchApp.fetch(url,{//进行url和url更改
标题:{
'Authorization':'Bearer'+service.getAccessToken()
}
});
var result=JSON.parse(response.getContentText());
log(JSON.stringify(result,null,2));
//Logger.log(JSON.stringify(result.data[0].access_令牌))
变量数据={
“消息”:“自我测试”,
//“鼻涕虫”:“自我测试”,
//“文本到订阅”:“真”
};
var payload=JSON.stringify(数据);
变量选项={
“方法”:“发布”,
“contentType”:“application/json”,
“有效载荷”:有效载荷
};
变量url=”https://graph.facebook.com/v3.2/PAGEID/feed"
+“?访问\u令牌=”+encodeURIComponent(结果.数据[0].访问\u令牌);
//+'?access_token='+encodeURIComponent(result.access_token);//direct pagetoken
var response=UrlFetchApp.fetch(url,选项);
Logger.log('已成功发布到facebook页面',响应)

}
@luschn此处的有效负载是什么。您能参考可用的有效负载选项吗?这些问题与facebook graph api无关。上述问题部分正确,但我需要facebook发布格式。就像我应该在有效负载中包含的内容一样。@luschn这是新代码,但得到403错误
函数示例(){var service=getService();if(service.hasAccess())var data={“message”:“Me Testing”、//“slug”:“Me Testing”、//“text_to_subscribe”:“true”};var payload=JSON.stringify(data);var options={“method”:“POST”,“contentType”:“application/JSON”,“payload”:payload};var url=”https://graph.facebook.com/v3.2/pagename/feed“+”?access_token='+encodeURIComponent(service.getAccessToken());var response=UrlFetchApp.fetch(url,options);}
有效负载是数据(要设置的字段,访问令牌,…),您可以在重复的线程中看到它。在问题和答案中。请不要在注释中发布代码,这是不可能阅读的。无论如何,它看起来是正确的,确切的错误消息是什么?请使用所有详细信息和您当前的代码更新您的问题。并提供详细的错误响应。@luschn我能够在发布之前发布到页面重新使用api。我使用wordpress插件完成了这项工作。我可以使用用户令牌将视频公开发布到我的页面中,但在这里,我无法使用用户访问令牌发布视频,只能通过页面令牌以及如何通过OAuth2获取页面令牌。当然,您必须使用页面令牌,而不是用户令牌……您想发布到页面吗,对吗?文档中解释了如何获取页面令牌。