电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

webapi接口示例:学习中! 和泛微OA对接,完成 流程新增,提交(使用Pycharm进行数据操作并进行转发)

来源:金蝶云社区作者:金蝶2024-09-1617

webapi接口示例:学习中! 和泛微OA对接,完成 流程新增,提交(使用Pycharm进行数据操作并进行转发)

image.webp


image.webp


import base64

from urllib.parse import urlencode

from Crypto.PublicKey import RSA

from Crypto.Cipher import PKCS1_v1_5

# -*- coding: utf-8 -*-

import requests as requests

from flask import Flask, request

import json

from decimal import Decimal


app = Flask(__name__)



# 只接受POST方法访问

@app.route("/dzw1.0", methods=["POST"])  # http://192.168.1.196:5000/test_1.0

def check():

    # 默认返回内容


    # -*- coding: UTF-8 -*-


    return_dict = {'return_code': '200', 'return_info': '转发处理成功', 'result': False}

    # 判断传入的json数据是否为空

    if request.get_data() is None:

        return_dict['return_code'] = '5004'

        return_dict['return_info'] = '请求参数为空'

        return json.dumps(return_dict)


    # 获取传入的参数

    post_Data1 = request.get_data()

    # 传入的参数为bytes类型,需要转化成json

    post_Data = json.loads(post_Data1)


    workflowId = post_Data["workflowId"]

    requestName = post_Data["requestName"]

    mainData = post_Data["mainData"]

    mainData = json.dumps(mainData)

    detailData = post_Data["detailData"]

    detailData = json.dumps(detailData)

    requestid = post_Data["requestid"]

    USERID = post_Data["ygid"]

    otherParams = "save"

    # sqfkje = post_Data["mainData"]

    # (len(post_Data['mainData'])):

    # ata['mainData'][10]['fieldValue'])

    #

    urlid = 'http://192.168.51.55:8080/api/tai/GetUserID'

    dataid = '{"workCode":"%d"}' % USERID

    responseid = requests.post(url=urlid, data=dataid)

    print(urlid)

    print(dataid)

    # E错误 S成功

    print(responseid.text)

    if json.loads(responseid.text)["CODE"] == "S":

        id = json.loads(responseid.text)["USERID"]


        # 第一步获取加密公匙

        url = 'HTTP://192.168.51.55:8080/api/ec/dev/auth/regist'

        headers1 = {"appid": "jindie"}

        response = requests.post(url=url, headers=headers1)  # 返回值

        gkey = (json.loads(response.text))["spk"]

        # print(gkey)


        key = gkey

        pubkey = '''-----BEGIN PUBLIC KEY-----

           %s

               -----END PUBLIC KEY-----''' % key

        text1 = (json.loads(response.text))["secret"]

        rsakey = RSA.importKey(pubkey.encode())

        ciper = PKCS1_v1_5.new(rsakey)

        zh1 = base64.b64encode(ciper.encrypt(text1.encode())).decode()

        # print("-------------------------------------------------------------------------------------------------------")

        # print(zh1)


        # 第2步传入加密的secret和appid,获取token

        url2 = 'HTTP://192.168.51.55:8080/api/ec/dev/auth/applytoken'

        headers2 = {"secret": zh1, "appid": "jindie"}

        response1 = requests.post(url=url2, headers=headers2)  # 返回值

        token = (json.loads(response1.text))["token"]

        # print("-------------------------------------------------------------------------------------------------------")

        # print(token)

        # 加密suerid

        pubkey = '''-----BEGIN PUBLIC KEY-----

        %s

              -----END PUBLIC KEY-----''' % key

        text2 = id

        rsakey = RSA.importKey(pubkey.encode())

        ciper = PKCS1_v1_5.new(rsakey)

        zh2 = base64.b64encode(ciper.encrypt(text2.encode())).decode()

        # print("-------------------------------------------------------------------------------------------------------")

        # print(zh2)

 

webapi接口示例:学习中! 和泛微OA对接,完成 流程新增,提交(使用Pycharm进行数据操作并进行转发)

import base64from urllib.parse import urlencodefrom Crypto.PublicKey import RSAfrom Crypto.Cipher import PKCS1_v1_5# -*...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信