Аутентификация с помощью Facebook Graph API и анализ отзывов JSON со страницы Facebook - PullRequest
0 голосов
/ 24 июня 2019

У меня проблемы с аутентификацией и анализом.

получить обзор страницы API Graph Facebook

Я пытался отправить приложение на рассмотрение и запросить доступ к странице manage_page, но я получаю сообщение об ошибке:

"Invalid Scopes: manage_pages. Это сообщение показывается только разработчикам. Пользователи вашего приложения будут игнорировать эти разрешения, если они есть. Пожалуйста, ознакомьтесь с документацией для получения действительных разрешений по адресу: developers.facebook.com/docs/facebook-login/permissions "и, возможно, API устарел

<!doctype html>
<html lang="en">
   <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
      <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">
      <title>Ilan's Test</title>
   </head>
   <body>

   <div class="container">
        <div class="row">
            <div class="col-lg-12">
                <div id="results">

                </div>
            </div>
         </div>
   </div>

      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script>
      <script>
         var myurl = "http://graph.facebook.com/v3.3/FinancialSanityNow/ratings";
         var getToken = function(req, res) {
         var facebookToken = req.headers['facebooktoken'];
         //TODO : check the expirationdate of facebooktoken
         if(facebookToken) {
            var path = 'https://graph.facebook.com/v3.3/FinancialSanityNow?access_token=' + facebookToken;
         request(path, function (error, response, body) {
            var facebookUserData = JSON.parse(body);
         if (!error && response && response.statusCode && response.statusCode == 200) {
          if(facebookUserData && facebookUserData.id) {
            var accessToken = jsonWebToken.sign(facebookUserData, jwtSecret, {
                //Set the expiration
                expiresIn: 86400
            });
            res.status(200).send(accessToken);
         } else {
           res.status(403);
           res.send('Access Forbidden');
                             }
         }
         else {
           console.log(facebookUserData.error);
           //console.log(response);
           res.status(500);
           res.send('Access Forbidden');
         }
         });
           res.status(403);
           res.send('Access Forbidden');
         }
         };
         $.ajax({
            url: myurl,
            headers: {
             'access_token':'xxxxxaccesstokenherexxxxx',
         },

            method: 'GET',
            dataType: 'json',

            success: function(data){
                    $.each(data.reviews, function(i, item) {
                        // Store each review object in a variable
                        var reviewdata = item.data.reviews;
                        // Append our result into our page
                        $('#results').append('test:' + reviewdata);
                  });
            }
         });     

      </script>
   </body>
</html>

Я просто хочу знать, возможно ли это даже через страницы / рейтинги API от Facebook

https://developers.facebook.com/docs/graph-api/reference/page/ratings/

1 Ответ

1 голос
/ 24 июня 2019

Большинство разрешений требуют проверки, прежде чем вы сможете их использовать. Без проверки они будут работать только для пользователей с ролью в приложении, и вам нужно держать приложение в режиме разработки. Если вы включите его, неутвержденные разрешения не будут работать вообще.

Кроме того, для получения отзывов вы должны использовать токен страницы рассматриваемой страницы, токен страницы - с помощью конечной точки /me/accounts?fields=access_token с токеном пользователя, который включает разрешение manage_pages.

Больше информации о токенах: https://developers.facebook.com/docs/facebook-login/access-tokens/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...