在Graph API Explorer工具中,我正在使用此查询:
search?q=myemail@gmail.com&type=user
但无论出于何种原因,我都会将此归还。
{
"error": {
"message": "(#200) Must have a valid access_token to access this endpoint",
"type": "OAuthException",
"code": 200
}
}
访问令牌在那里。其他请求也起作用,如下所示:
me?fields=id,name
这是返回值
{
"id": "somelongnumber",
"name": "my name"
}
不确定我做错了什么,我是否需要设置其他权限才能让搜索工作?
编辑:以下是我的用户权限的屏幕截图:
我也尝试过使用应用程序令牌,但同样的事情。
更多更新:
查询名称似乎工作正常:
search?q=FirstName LastName&type=user
返回有效结果,但电子邮件返回我的誓言异常。 Facebook改变了他们允许电子邮件搜索的方式吗?
答案 0 :(得分:0)
尽管有可能,但您无法再按其电子邮件地址搜索用户。作为doc状态,q
值必须引用用户名。
可用搜索类型
- 输入:
user
- 说明:搜索某人(如果他们允许搜索他们的名字)
q
值:名称
每个电子邮件地址中都存在的点字符也会破坏您的图形请求。在当前的Graph API语法中,.
标记子字段的开头,例如:
/me?fields=friends.limit(10)
^
如何分隔电子邮件?如你所见,
/search?q=john@gmail&type=user
“有效”
而
/search?q=john@gmail.com&type=user
没有。
修改:此功能已于2013年4月停用,Facebook已报告:
此功能已弃用,因为 利用率低,我们目前没有计划重新启用它。如果 您有此功能的有效用例请在此处描述 考虑。 Marie Hagman - Facebook团队