如何通过Facebook API获取本人加入的所有群组列表(含Python实现)
实现方案
前置准备
- 注册Meta开发者账号,创建类型为「消费者」的应用
- 为应用申请
user_groups权限,将你的Facebook账号添加为应用的测试用户,获取具备该权限的用户访问令牌(Access Token) - 确认使用的Graph API版本为官方支持的稳定版本(推荐v18及以上)
依赖安装
执行命令安装需要的请求库:pip install requests
实现代码
import requests # 配置参数 ACCESS_TOKEN = "你的用户访问令牌" API_VERSION = "v18.0" BASE_URL = f"https://graph.facebook.com/{API_VERSION}" def get_user_groups(): groups = [] url = f"{BASE_URL}/me/groups" params = { "fields": "name,member_count", "access_token": ACCESS_TOKEN, "limit": 100 # 单页最多返回100条 } while url: resp = requests.get(url, params=params).json() # 处理当前页数据 if "data" in resp: groups.extend(resp["data"]) # 处理分页 url = resp.get("paging", {}).get("next") params = {} # 分页链接已包含参数,后续请求无需重复传 return groups if __name__ == "__main__": groups = get_user_groups() # 格式化输出,左对齐群组名,留30个字符宽度,后面接成员数 for group in groups: member_count = group.get("member_count", 0) # 成员数格式化,大于1000转成k格式 if member_count >= 1000: count_str = f"{member_count/1000:.0f}k members" else: count_str = f"{member_count} members" print(f"{group.get('name', '未知群组'):<30} {count_str}")
注意事项
- 如果你需要正式发布应用供其他用户使用,
user_groups权限需要提交Meta官方审核,提供合规的使用场景说明才能通过 - 访问令牌有效期有限,需要定期刷新,长期使用可以配置获取长期令牌
- 若API返回权限错误,先检查你的账号是否已添加为应用测试用户,以及访问令牌是否包含
user_groups权限
内容的提问来源于stack exchange,提问作者Basj
相关产品推荐
相关产品推荐

