2013-04-10 56 views
8
Facebook的图形API搜索https://graph.facebook.com/search?q=query&type=user

如果我执行一个Facebook图形API的搜索,例如:有两个关键字

https://graph.facebook.com/search?q=query&type=user 

在哪里查询只是一个像'马克'这样的词,一切都很好,并有结果。 但是,如果查询是两个单词(如“Mark Roberts”),则不会返回任何结果。

我已经尝试使用'标记+罗伯茨',也尝试使用URL编码与转义,但这并没有帮助。但是,当我使用两个关键字,并删除& type = user,我得到的结果(尽管大量的随机facebook的东西)。

所以:

https://graph.facebook.com/search?q=mark&type=user < WORKS 

https://graph.facebook.com/search?q=mark+robers&type=user < DOES NOT WORK 

https://graph.facebook.com/search?q=mark+robers < WORKS (but does not return people) 

有没有人遇到这个问题?

的Facebook似乎不提这事:http://developers.facebook.com/docs/reference/api/search/

注:我做的过程中具有确认APP ID这和登录用户等

回答

5

我用网络浏览器测试,它的工作原理如预期。

enter image description here

+0

嗯。你是否使用应用程序访问令牌或用户访问令牌执行此操作? – Zigglzworth 2013-04-11 06:59:30

+0

这是一个用户访问令牌,你可以在图形API浏览器上重现https://developers.facebook.com/tools/explorer?method=GET&path=search%3Fq%3Dmark%20robers%26type%3Duser – 2013-04-11 08:18:08

+0

奇怪的是,完全相同的调用与我通过iOS SDK获取的访问令牌返回一个空数组,如我所描述的。你知道为什么这可能是?我使用的访问令牌也是我相信的用户令牌。 – Zigglzworth 2013-04-12 16:16:11

0

我试图访问令牌:

search?q=mark+rober 

,并已得到了错误:

{ 
    "error": { 
    "message": "An unknown error has occurred.", 
    "type": "OAuthException", 
    "code": 1, 
    "fbtrace_id": "FuK10wfbFox" 
    } 
}