Facebook Graph API搜索问题

时间:2013-07-31 17:48:06

标签: facebook-graph-api

我创建了一个使用图形API的搜索栏,直到大约一个月前它运行良好。您可以在搜索栏中输入内容,并从Facebook获取与您的搜索参数相关的信息。它出于某种原因停止了工作。所以我去了我的浏览器搜索栏,手动输入图表搜索 -

http://graph.facebook.com/search?q=zombies

这也不再起作用了,我收到一条错误消息,上面写着这个 -

{    “错误”:{       “message”:“(#200)必须具有有效的access_token才能访问此端点”,       “type”:“OAuthException”,       “代码”:200    } }

是否有更新使我的搜索停止运行?我一直在阅读Facebook的文档,我找不到我想要的东西。有人能帮助我重新开始工作吗?我的搜索位于http://ericnaff.com/html5/p3。这是我正在使用的脚本 -

function searchFB(userSearchparameter){

$.getJSON('https://graph.facebook.com/search?q=' + userSearchparameter + '&type=post&callback=?', function(fbResults){
    $.each(fbResults.data, function() {
        // Data Templating
        $('<article class="fbResults"></article>').append ( 

            '<section class="resultsSource"><h6 class="shareHeader">' +
            '<img class="fromUser" src="https://graph.facebook.com/' + this.from.id + '/picture" height="50" width="50" alt="' + this.from.name + '">' +
            '<a href="http://www.facebook.com/' + this.from.id + '" class="fromName">' + this.from.name +'</a> shared a <a class="typeLink" href="' + this.link + '">' + this.  
            type + '</a> </h6>' +
            '<time class="createdTime" datetime="' + this.created_time + '">' + fuzzyFacebookTime(this.created_time.replace(/-/g,'/')) + ' &middot;</time>' +
            '<img class="typeLinkIcon" src="' + this.icon + '" alt="icon"></section>' +
            '<section class="resultsDescription"><h6><a class="shareLink" href="' + this.link + '">' +
            '<img class="sharePicture" src="' + this.picture + '" height="90" width="90" alt="' + this.from.id + '">' +
            '<span class="shareName">' + this.name + '</span>' +
            '<span class="shareCaption">' + this.caption + '</span>' +
            '<span class="shareDescription">' + this.message + '</span>' +
            '</a></h6></section>' +
            '<iframe class="linkShare" src="http://facebook.com/plugins/like.php?href=' + this.link + '"></iframe>'
        ).appendTo('body');

我知道它说我的错误中没有正确的访问令牌,但它从来没有使用过一个并且工作正常。如果我需要添加一个,我想在哪里添加?谢谢!

2 个答案:

答案 0 :(得分:4)

您需要一个访问令牌;这意味着[注册Facebook App] [1]

Facebook API changes Jul 10 '13:

  

图表API搜索更改

     

除了地方和页面之外的所有搜索图形API调用都需要应用访问令牌。   将不再支持搜索应用程序。

  1. 创建Facebook开发者帐户
  2. 创建新的Facebook应用
  3. 获取https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=client_credentials
  4. 将返回的access_token = ...附加到您的搜索请求

答案 1 :(得分:1)

邮政搜索也需要访问令牌:

来自Facebook's Developer Roadmap of Completed Changes

  

图表API搜索更改

     

所有搜索Graph API调用都需要用户访问令牌,但帖子,地点除外   和页面。应用访问令牌也可用于发布搜索图谱API调用。地方和   页面搜索图形API调用仍然需要App访问令牌。搜索应用程序   将不再受支持。