OpenAPI&;Python:如何使用apiKey安全方案?

OpenAPI&;Python:如何使用apiKey安全方案?,python,openapi,openapi-generator,Python,Openapi,Openapi Generator,我试图通过Python使用带有OpenAPI规范的API。我生成了openapi_客户端,并使用其中一个生成的示例开始。对API的第一次调用成功,但由于会话ID无效,后续调用失败 securitySchemes: user_session_authentication: description: [...] type: apiKey in: header name: SOME_PREFIX_user_session_id securit

我试图通过Python使用带有OpenAPI规范的API。我生成了openapi_客户端,并使用其中一个生成的示例开始。对API的第一次调用成功,但由于会话ID无效,后续调用失败

  securitySchemes:
    user_session_authentication:
      description: [...]
      type: apiKey
      in: header
      name: SOME_PREFIX_user_session_id
security:
  - user_session_authentication: [] # default for all actions is user_session_id!
对foo()的http响应包含键值对
'user\u session\u id':'1bf92fc3-7f2a-450f-a472-03a07a70bd8d'
。如何将这个键值对添加到第二个请求的头中?目前,第二个请求的标题仅包含以下内容:
{'Accept':'application/json','User Agent':'OpenAPI Generator/1.0.0/python'}

我发现了问题,并根据我的用例修改了代码:

import openapi_client
from openapi_client.api import some_api
from openapi_client import Configuration
from openapi_client.model.inline_response200 import InlineResponse200
from openapi_client.model.inline_response2002 import InlineResponse2002
from pprint import pprint

with openapi_client.ApiClient() as api_client:
    username = "john"
    password = "45d75ii47"
    
    api_instance = some_api.SomeApi(api_client)
    username = username
    password = password
    body = function_a("foo")

    api_response = api_instance.foo(username=username, password=password, body=body)
    pprint(api_response)
    
    conf = Configuration()
    conf.api_key = {"SOME_PREFIX_user_session_id": api_response.user_session_id}
    api_client = openapi_client.ApiClient(None, "SOME_PREFIX_user_session_id", conf.get_api_key_with_prefix("user_session_id"))
    api_instance = some_api.SomeApi(api_client)

    api_response = api_instance.bar()
    pprint(api_response)
import openapi_client
from openapi_client.api import some_api
from openapi_client import Configuration
from openapi_client.model.inline_response200 import InlineResponse200
from openapi_client.model.inline_response2002 import InlineResponse2002
from pprint import pprint

with openapi_client.ApiClient() as api_client:
    username = "john"
    password = "45d75ii47"
    
    api_instance = some_api.SomeApi(api_client)
    username = username
    password = password
    body = function_a("foo")

    api_response = api_instance.foo(username=username, password=password, body=body)
    pprint(api_response)
    
    conf = Configuration()
    conf.api_key = {"SOME_PREFIX_user_session_id": api_response.user_session_id}
    api_client = openapi_client.ApiClient(None, "SOME_PREFIX_user_session_id", conf.get_api_key_with_prefix("user_session_id"))
    api_instance = some_api.SomeApi(api_client)

    api_response = api_instance.bar()
    pprint(api_response)