
直接通过`graph.facebook.com/search?type=page`搜索Facebook页面已不再有效。要正确搜索并获取页面ID,您的应用必须获得“Page Public Content Access”或“Page Public Metadata Access”等高级功能权限。这些关键功能在开发模式下无法使用,必须经过Facebook审核并获得批准后才能在生产环境中生效。
许多开发者可能曾尝试使用Facebook Graph API的search端点结合type=page参数来查找页面,例如:
GET https://graph.facebook.com/search?q="Bottom of the Hill"&type=page&access_token=[User access token]
然而,这种方法现在通常会返回空结果{ "data": [] }。这表明该API路径已不再适用于公开页面的搜索,或者其功能受到了严格限制。Facebook对其Graph API的公共数据访问策略进行了多次更新,旨在保护用户隐私和数据安全,因此许多过去可用的公共搜索功能现在需要更严格的权限。
要通过Facebook Graph API有效地搜索页面并获取其ID,您的应用程序必须申请并获得特定的高级功能(Features)。根据Facebook的官方文档,主要需要以下两种功能之一:
这些功能并非默认提供,需要通过Facebook开发者后台提交申请,并经过Facebook的严格审核才能获得。
一个非常重要的注意事项是,上述提及的“Page Public Content Access”和“Page Public Metadata Access”等高级功能在开发模式(Development Mode)下是完全无效的。这意味着即使您在开发环境中配置了这些功能,它们也不会在您的应用测试阶段起作用。
为了测试页面搜索功能,您的应用必须:
在这些条件满足后,您才能使用相应的Graph API端点进行页面搜索。
虽然本文不详细展开申请流程,但通常步骤如下:
一旦您的应用获得了所需的权限并处于上线模式,您就可以使用Graph API的/pages端点进行搜索。具体的API调用模式可能如下:
GET https://graph.facebook.com/v{api-version}/pages?q={page-name}&access_token={your-access-token}示例响应(成功获取权限后):
{
"data": [
{
"name": "Bottom of the Hill",
"id": "123456789012345", // 这就是您需要的页面ID
"category": "Music Venue",
// ... 其他公共页面信息
},
// ... 可能有其他匹配的页面
],
"paging": {
"cursors": {
"before": "...",
"after": "..."
}
}
}通过理解并遵循这些步骤,您将能够有效地利用Facebook Graph API搜索并获取所需的页面ID。
以上就是Facebook Graph API:正确搜索并获取页面ID的指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号