繁体   English   中英

python 将另一个 function 的返回值设置为在 header 中使用的变量

[英]python set returned value from another function as a variable to use in header

尝试在 submit_documents() function 的请求中将令牌作为 auth header 中的变量获取,如果它是硬编码的,则它可以正常工作; 但是我需要从 log_in_as_taxpayer() function 的返回中获取:

import json

class ETax_Integration(object):
    """docstring for ETax_Integration"""
    def __init__(self, arg):
        super(ETax_Integration, self).__init__()
        self.arg = arg
        

    def log_in_as_taxpayer(self):
        
        client_id='###'
        # print(client_id)
        url = "https://url/connect/token"
        client_secret='###'
        # print(client_secret)
        payload={'grant_type':'client_credentials','client_id':{client_id},'client_secret':{client_secret},'scope':'InvoicingAPI'}
        headers = {
          'Content-Type':'application/x-www-form-urlencoded'
        }

        response = requests.request("POST", url, headers=headers, data=payload, verify=False)
        values=json.loads(response.text)
        # print(values['access_token'])
        # print( response.raise_for_status())
        return (values['access_token'])

    def submit_document(self):
        token=self.log_in_as_taxpayer()
        print(token)
        submit_payload = json.dumps({
          "documents": []
        headers = {
          'Content-Type': 'application/json',
          'Authorization': 'Bearer {token}'
        }
        submit_url = "https://api/link"
        response = requests.request("POST", submit_url, headers=headers, data=submit_payload,verify=False)

        print(response.text)
        print( response.raise_for_status())


test=ETax_Integration(object)
# test.log_in_as_taxpayer()
test.submit_document()

f'Bearer {token}' ,注意前导f 有关更多信息,请参见此处此处,或使用您最喜欢的搜索引擎搜索python f-string ;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM