You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用Python requests模块通过姓名在Facebook Graph API中搜索?

用Python Requests通过姓名搜索Facebook用户(基于Graph API)

首先明确:Facebook Graph API从v2.0版本开始,已经禁用了公开用户搜索功能,你无法直接通过姓名搜索平台上的任意用户。仅能在当前授权用户的好友列表范围内进行姓名匹配搜索,且需要对应的权限授权。

实现步骤

  1. 准备工作

    • 注册Facebook开发者账号,创建应用并完成应用审核(需申请user_friends权限,若要获取邮箱这类额外字段,还需user_email等权限)。
    • 获取有效的用户授权access_token(需用户主动授权你的应用访问其好友列表)。
  2. 编写Python Requests代码
    以下是搜索指定姓名好友的示例:

    import requests
    
    # 替换为你的有效access_token和要搜索的姓名
    ACCESS_TOKEN = "你的用户授权access_token"
    TARGET_NAME = "John Doe"
    
    # Graph API端点(使用最新版本,如v18.0)
    api_url = "https://graph.facebook.com/v18.0/me/friends"
    # 请求参数:q为搜索关键词,fields为要获取的用户字段
    request_params = {
        "q": TARGET_NAME,
        "access_token": ACCESS_TOKEN,
        "fields": "id,name,profile_pic"  # 按需选择字段,需对应权限
    }
    
    # 发送GET请求
    response = requests.get(api_url, params=request_params)
    result = response.json()
    
    # 处理返回结果
    if "data" in result and len(result["data"]) > 0:
        print("找到匹配的好友:")
        for user in result["data"]:
            print(f"姓名:{user['name']},ID:{user['id']}")
    else:
        error_msg = result.get("error", {"message": "未找到匹配用户或请求无效"})
        print(f"搜索失败:{error_msg['message']}")
    

关键注意事项

  • 权限限制:必须持有包含user_friends的有效access_token,且用户已授权你的应用访问其好友列表。
  • 搜索范围:仅能搜索授权用户的好友,无法搜索非好友的公开用户,这是Facebook隐私政策强制要求的。
  • API版本:务必使用Facebook当前支持的Graph API版本(可在开发者文档中查看最新版本),旧版本可能已被废弃。
  • 字段权限:请求如email、phone等敏感字段时,需额外申请对应权限并通过审核。

内容的提问来源于stack exchange,提问作者se6

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 12:01:05