如何从服务器进行Facebook API调用?要使用的令牌

How to make Facebook API calls from server? Which token to use?

本文关键字:令牌 调用 API 服务器 Facebook      更新时间:2023-09-26

有人能解释一下从服务器端调用Facebook API的流程吗?我了解一般流程,但不知道如何操作。

我希望我的网站服务器使用登录凭据(使用user access tokenapp access token)定期发送API调用。。。大约每15分钟。从服务器端获取数据的目的是将这些数据保存到自己的数据库中。例如,以下API调用的结果:

`GET/v2.5/2405794352058/feed      // get the latest posts from fb group feed`
// returns an array of objects
// [{message:'something interesting', id: '23435jlf8923', updated_at: Date()}]

为了进行这些调用,我必须使用user access tokenapp access token,在需要重新登录之前,它们将存在有限的时间。如果我选择使用user access token,我将能够使用各种令牌来获取数据,因此我不太可能达到任何使用限制。但是,如果我使用app access token,我将直接控制访问令牌,但所有请求都将使用同一令牌发起。我应该用哪个?

这两种技术我都不知道怎么做。我想知道的最重要的事情是如何做到这一点。

以下是我的服务器代码当前的样子(返回500内部服务器错误):

router.post('/check_posts', function(req, res, next){
    var accessToken = req.body.accessToken;
    var feed;
    FB.api("/142985255268/feed?limit=100",
        {access_token: accessToken},
        function (response) {
          if (response && !response.error) {
            console.log(response.data);
            feed = response.data;
            res.json(feed);
          }
        }
    );
});

我使用的是NodeJS、AngularJS、MongoDB和ExpressJS(又称MeanStack)。

应用程序令牌永远有效。如果您在通话中使用相同的用户令牌,您可以只使用一个应用程序令牌,因为每个令牌都有限制。如果您存储来自应用程序其他用户的用户令牌,最好使用这些令牌,以避免限制。扩展用户令牌的有效期为60天。

更多信息:

  • https://developers.facebook.com/docs/facebook-login/access-tokens
  • http://www.devils-heaven.com/facebook-access-tokens/

要在Node.js服务器上使用Facebook API,请自行调用或使用第三方SDK之一:https://developers.facebook.com/docs/apis-and-sdks#third-第三方SDK