Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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 Javascript Sdk - Fatal编程技术网

Javascript 公共facebook页面提要

Javascript 公共facebook页面提要,javascript,facebook-javascript-sdk,Javascript,Facebook Javascript Sdk,我想将最后4条新闻添加到我的网站,从facebook API获取它们。网站上没有facebook登录或类似的东西。我已经创建了FB应用程序并使用了FB.api()函数来获取新闻,但是api需要access\u token,这不应该公开显示,但是新闻获取在前端(js)。是否有办法获得其他访问令牌,仅用于阅读可以公开的公共新闻 我的代码(正在运行,只是不安全) 正确的方法是在服务器端使用访问令牌。永远不要在客户端上使用令牌,应用程序访问令牌包括应用程序机密-出于某种原因称为“机密” 有关令牌的更多信

我想将最后4条新闻添加到我的网站,从facebook API获取它们。网站上没有facebook登录或类似的东西。我已经创建了FB应用程序并使用了
FB.api()
函数来获取新闻,但是api需要
access\u token
,这不应该公开显示,但是新闻获取在前端(js)。是否有办法获得其他访问令牌,仅用于阅读可以公开的公共新闻

我的代码(正在运行,只是不安全)


正确的方法是在服务器端使用访问令牌。永远不要在客户端上使用令牌,应用程序访问令牌包括应用程序机密-出于某种原因称为“机密”

有关令牌的更多信息:


好的,我想可能有一些公共访问令牌,我可以在前端使用。谢谢。不,访问令牌总是要保密的。接下来的问题:如果我在前端使用app id | app secret作为身份验证,并在app Settings中将app Settings中的“Allow API access to app Settings”设置为“no”,那么在前端使用它安全吗?这个应用程序只是为了阅读一些FB公共页面提要。它与任何东西都没有连接,也永远不会连接。不,它仍然不安全——还有另一个原因:如果有人经常访问你的页面,你将达到api限制。正确的方法是使用apptoken服务器端(同样,出于某种原因,它被称为“secret”)并缓存结果,这样您就不需要在每次点击页面时都使用api。
    window.fbAsyncInit = function() {
        FB.init({
            appId      : 'my_app_id',
            xfbml      : true,
            version    : 'v2.8'
        });
        FB.api(
            "https://graph.facebook.com/my_fb_page/feed?fields=full_picture,message,story,created_time&access_token=my_access_token",
            function (response) {
                if (response && !response.error) {
                    var news = response.data.splice(0,4);
                    console.log(news);
                }
            }
        );
    };