Files
office_xbot_feishu/app/scripts/sync_office_info_to_feishu.py
T
jianxin f6202d551e
continuous-integration/drone/push Build is passing
add sync_xbot_activity_info
2024-02-20 20:04:04 +08:00

72 lines
2.1 KiB
Python

import os
import json
import lark_oapi as lark
from flask import Flask
from lark_oapi.adapter.flask import *
from lark_oapi.api.im.v1 import *
from lark_oapi.api.bitable.v1 import *
import lark_oapi as lark
from lark_oapi.api.drive.v1 import *
from lark_oapi.api.bitable.v1 import *
from app.utils.yd_utils import get_activity_info, get_token, get_office_app_uuids
from app.utils.utils import get_filtered_record_by_uuid, update_record, add_record
app_id = os.environ["APP_ID"]
app_secret = os.environ["APP_SECRET"]
bitable_token = os.environ["BITABLE_TOKEN"]
table_id = os.environ["TABLE_ID"]
xbot_username = os.environ["XBOT_USERNAME"]
xbot_password = os.environ["XBOT_PASSWORD"]
bitable_token = "XDmHbhbZcaY4gZsOvBJcLcHonKh"
table_id = "tbl2GcBvkvMtOBnl"
view_id = "vewIAewVD2"
client = lark.Client.builder().app_id(app_id).app_secret(app_secret).build()
token = get_token(xbot_username, xbot_password)
handle_list = []
# 同步应用数据
# office_app_uuids = get_office_app_uuids()
# print(f"office_activity_uuids count: {len(office_app_uuids)}")
# 同步指令数据
office_activity_uuids = get_activity_info(token)
print(f"office_activity_uuids count: {len(office_activity_uuids)}")
for item in office_activity_uuids:
robot_uuid = item.get("robotUuid")
package_view_name = item.get("packageViewName")
print("=====================================")
print(f"同步信息: {robot_uuid}, {package_view_name}")
record_id = get_filtered_record_by_uuid(
client, bitable_token, table_id, view_id, "UUID", robot_uuid
)
if record_id:
print(f"{robot_uuid}已同步多维表格中")
update_record(
client, bitable_token, table_id, record_id, {"名称": package_view_name}
)
else:
handle_list.append(robot_uuid)
print(f"{robot_uuid}: {package_view_name} 未同步多维表格中")
add_record(
client,
bitable_token,
table_id,
{"UUID": robot_uuid, "名称": package_view_name, "分类": "官方指令"},
)
print(f"新增的数量: {len(handle_list)}")
print("新增的uuid: ", handle_list)