|
@@ -0,0 +1,87 @@
|
|
|
+from flask import Flask
|
|
|
+import flask
|
|
|
+from alibabacloud_dingtalk.oauth2_1_0.client import Client as dingtalkoauth2_1_0Client
|
|
|
+from alibabacloud_tea_openapi import models as open_api_models
|
|
|
+from alibabacloud_dingtalk.oauth2_1_0 import models as dingtalkoauth_2__1__0_models
|
|
|
+from alibabacloud_tea_util.client import Client as UtilClient
|
|
|
+from alibabacloud_tea_util import models as util_models
|
|
|
+
|
|
|
+import dingtalk.api
|
|
|
+
|
|
|
+import json
|
|
|
+
|
|
|
+app = Flask(__name__)
|
|
|
+
|
|
|
+
|
|
|
+@app.route('/')
|
|
|
+def hello_world():
|
|
|
+ return 'flask_test is running!!!'
|
|
|
+
|
|
|
+
|
|
|
+@app.route('/getAccessToken')
|
|
|
+def login():
|
|
|
+ config = open_api_models.Config()
|
|
|
+ config.protocol = 'https'
|
|
|
+ config.region_id = 'central'
|
|
|
+ client = dingtalkoauth2_1_0Client(config)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ get_access_token_request = dingtalkoauth_2__1__0_models.GetAccessTokenRequest(
|
|
|
+ app_key='dingsdbwmwnnnywdnk8e',
|
|
|
+ app_secret='N8KZDtMQJWlTp-24s1TgN_jcHTf69SsyIaMyG0zwr7HlG7JY0cYIdVTbH4wwL8Rz'
|
|
|
+ )
|
|
|
+ response = {}
|
|
|
+ try:
|
|
|
+
|
|
|
+ access_token = client.get_access_token(get_access_token_request).body
|
|
|
+ print(access_token)
|
|
|
+ response = {"accessToken": access_token.access_token, "expireIn": access_token.expire_in}
|
|
|
+ return json.dumps(response)
|
|
|
+ except Exception as err:
|
|
|
+ if not UtilClient.empty(err.code) and not UtilClient.empty(err.message):
|
|
|
+
|
|
|
+ pass
|
|
|
+ return json.dumps(response)
|
|
|
+
|
|
|
+
|
|
|
+@app.route('/getUserInfo', methods=['POST'])
|
|
|
+def get_user_info():
|
|
|
+ json_data = flask.request.json
|
|
|
+ code = json_data["code"]
|
|
|
+ accessToken = json_data["accessToken"]
|
|
|
+ response = {}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ req = dingtalk.api.OapiV2UserGetuserinfoRequest("https://oapi.dingtalk.com/topapi/v2/user/getuserinfo")
|
|
|
+ req.code = code
|
|
|
+ try:
|
|
|
+ response = req.getResponse(accessToken)
|
|
|
+ print(response)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return json.dumps(response)
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ app.run()
|