# -*- coding: utf-8 -*-
'''
Created on 2018-9-17

@author: xiaoxuan.lp
'''
import dingtalk.api
import requests
#request = dingtalk.api.OapiMediaUploadRequest("https://oapi.dingtalk.com/media/upload")
#request.type = "image"
#request.media = dingtalk.api.FileItem("/Users/zero/test.png",open("/Users/zero/test.png","rb"))
#resp = request.getResponse("*****************")
#print(resp)


request = dingtalk.api.OapiGettokenRequest("https://oapi.dingtalk.com/gettoken")
request.corpid="dinga6i7azjh4ddmhaho"
request.corpsecret="ZIEnquIpeLIp0bPHWRcVP3AqAr6muKnVzrrPgtyub9GeEnNEh8nkXwuCW4nRpn03"

f = request.getResponse()
print(f)
ACCESS_TOKEN=f["access_token"]
print(ACCESS_TOKEN)

"""
{'errcode': 0,
 'access_token': '3205efa67e62358ab55f9629658ce9ef', 
 'errmsg': 'ok',
 'expires_in': 7200}
"""


# 替换为你的企业凭证
#APP_KEY = "your_app_key"
#APP_SECRET = "your_app_secret"

#url = f"https://oapi.dingtalk.com/gettoken?appkey={APP_KEY}&appsecret={APP_SECRET}"

#response = requests.get(url)
#result = response.json()

#if result.get("errcode") == 0:
#    access_token = result["access_token"]
#    print(f"获取成功: {access_token}")
#else:
#    print(f"获取失败: {result}")


#url = "https://oapi.dingtalk.com/topapi/user/listsimple"
#data = {"access_token": ACCESS_TOKEN}  # 表单数据
#headers = {"Content-Type": "application/json"}  # 可选请求头

# 发送 JSON 数据
#response = requests.post(url, json=data, headers=headers)

# 发送表单数据
# response = requests.post(url, data=data)

#print(response.json())  # 状态码 response.status_code


#获取部门列表
"""
{'errcode': 0, 
'errmsg': 'ok',
 'result': [
{'auto_add_user': True, 'create_dept_group': True, 'dept_id': 484683956, 'ext': '{"faceCount":"1"}', 'name': '销售部', 'parent_id': 1},
 {'auto_add_user': True, 'create_dept_group': True, 'dept_id': 484756963, 'name': '美工', 'parent_id': 1}, 
 {'auto_add_user': True, 'create_dept_group': True, 'dept_id': 484851704, 'name': '财务部', 'parent_id': 1},
 {'auto_add_user': True, 'create_dept_group': True, 'dept_id': 485209139, 'name': '总经办', 'parent_id': 1}, 
 {'auto_add_user': True, 'create_dept_group': True, 'dept_id': 485267113, 'name': '开发部', 'parent_id': 1}, 
 {'auto_add_user': True, 'create_dept_group': True, 'dept_id': 499509822, 'name': '营运部', 'parent_id': 1}, 
 {'auto_add_user': True, 'create_dept_group': True, 'dept_id': 577121086, 'name': '共创事业部', 'parent_id': 1}, 
 {'auto_add_user': True, 'create_dept_group': True, 'dept_id': 577369115, 'name': '共创事业二部', 'parent_id': 1}
 ], 
 'request_id': '16kdk03aig6e8'
 }
"""

"""
api_url = f"https://oapi.dingtalk.com/topapi/v2/department/listsub?access_token={ACCESS_TOKEN}"

data = {
	"language":"zh_CN",
    "dept_id":1
}

response = requests.post(api_url, json=data)
print(response.json())
"""


#获取某部门下人员列表
"""
 {'errcode': 0,
 'errmsg': 'ok', 
 'result': {'has_more': False, 
 'list': [
 {'name': '胡为良', 'userid': '01202723281632360470'}, 
 {'name': '李传龙', 'userid': '664932230326083399'}, {'name': '温江飞', 'userid': '212260264928000328'},
 {'name': '何志强', 'userid': 'manager3202'}
 ]}, 
 'request_id': '15smrqy5bxzda'
 }
"""
"""
api_url = f"https://oapi.dingtalk.com/topapi/user/listsimple?access_token={ACCESS_TOKEN}"


data = {
	"dept_id": "485209139",
	"cursor": 0,
    "contain_access_limit": False,
    "size": 10,
    "order_field": "modify_desc",
    "language": "zh_CN",
    "dept_id": "1"
}

response = requests.post(api_url, json=data)
print(response.json())
"""

#发送钉钉消息
api_url = f"https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token={ACCESS_TOKEN}"

data = {
    "agent_id": "3953977831",
    "userid_list": "manager3202",
    "msg": {"msgtype": "text", "text": {"content": "您于2025-07-28提交的开票申请已审批通过，请登录晨科ERP进行查看。"}}
}

response = requests.post(api_url, json=data)
print(response.json())


#request = dingtalk.api.CorpHrmEmployeeGetRequest("https://oapi.dingtalk.com/topapi/user/listsimple?access_token="+ACCESS_TOKEN)
#f = request.getResponse()
#print(f)
#request = dingtalk.api.OapiXiaoxuanPreTest1Request("https://oapi.dingtalk.com/topapi/xiaoxuan/pre/test1")
#request.normalData="1"
#request.systemData="2"

#f = request.getResponse("***************")
#print(f)
    
#request = dingtalk.api.OapiServiceGetAuthInfoRequest("https://oapi.dingtalk.com/service/get_auth_info")
#request.auth_corpid = "******************"
#f = request.getResponse(accessKey="******",
#    accessSecret="**************",
#    suiteTicket="***********")
#print(f)