在图API中请求URL信息时,HTTP 403


HTTP 403 during request for URL info in Graph API

我有一个wordpress博客。我需要索引每个页面被分享的次数,并按分享次数对我的帖子进行排序。

我编写了一个小脚本,用于对博客中的每个页面进行请求,如

 while ($posts->have_posts()) {
                    $posts->the_post();
                    $obj_fb = json_decode(file_get_contents('http://graph.facebook.com/?id=' . get_permalink()));
                    $likes_fb = $obj_fb->shares;
                    update_post_meta($post->ID, 'meta_fb_likes', $likes_fb, false);
                }

注意我没有使用任何访问令牌

该脚本适用于一定数量的页面,如50或100,但当我处理大量的页面,如300左右,它需要大约一分钟,并返回一个执行错误403从图形api。

请告诉我哪里做错了

您没有使用任何访问令牌,这正是问题所在。您现在必须为该呼叫使用访问令牌。只需使用应用程序访问令牌,这是最简单的一个,你不需要授权。

如何获得所有的访问令牌在文档中解释:

  • https://developers.facebook.com/docs/facebook-login/access-tokens
  • http://www.devils-heaven.com/facebook-access-tokens/
编辑:哦,我看到它仍然为你工作,但问题是API速率限制。你唯一能做的就是少打电话。没有具体的限制,但一般来说,"600秒内调用600次"是一个很好的规则,您可以在许多线程中找到。