飞书无法获取open_id
重现步骤
飞书无法获取open_id,现有的get_feishu_open_id有问题,需要更改如下: def get_feishu_open_id(email): url = "https://open.feishu.cn/open-apis/contact/v3/users/batch_get_id?user_id_type=open_id" payload = json.dumps({"emails": email}) headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + get_feishu_access_token() } resp = requests.request("POST", url, headers=headers, data=payload) result = [] # 确保响应状态码是200,表示请求成功 if resp.status_code == 200: resp_json = resp.json() if resp_json.get("code") == 0: # 遍历user_list中的每个user_info字典 for user_info in resp_json["data"]["user_list"]: result.append(user_info.get("user_id")) else: logger.error(f"API错误: {resp_json.get('msg')}") else: logger.error(f"请求失败,状态码:{resp.status_code}") logger.debug(f"返回结果: {result}") return result
预期外的结果
正常获取到open_id
日志文本
No response
版本
1.8.5
部署方式
Docker
是否还有其他可以辅助定位问题的信息?比如数据库版本等
No response
- 可以试试 master 版本
- 欢迎 pr
master 版本飞书api也是几年前的,根据我这个截图修改即可。
def get_feishu_open_id(email):
url = "https://open.feishu.cn/open-apis/contact/v3/users/batch_get_id?user_id_type=open_id"
payload = json.dumps({"emails": email})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + get_feishu_access_token()
}
resp = requests.request("POST", url, headers=headers, data=payload)
result = []
# 确保响应状态码是200,表示请求成功
if resp.status_code == 200:
resp_json = resp.json()
if resp_json.get("code") == 0:
# 遍历user_list中的每个user_info字典
for user_info in resp_json["data"]["user_list"]:
result.append(user_info.get("user_id"))
else:
logger.error(f"API错误: {resp_json.get('msg')}")
else:
logger.error(f"请求失败,状态码:{resp.status_code}")
logger.debug(f"返回结果: {result}")
return result
麻烦提个 pr , 谢谢