簡體   English   中英

400 Bad Request POST 請求

[英]400 Bad Request POST request

我正在 Python 一些 API 應用程序中編程,使用 POSTMAN 和 Bearer 令牌。 我已經收到令牌,並收到一些成功響應的 GET。

但是在插入記錄時出現 400 Bad request 錯誤,這是我用於添加記錄的代碼

def add_identity(token, accountid, newIdentity):
    end_point = f"https://identityservice-demo.clearid.io/api/v2/accounts/{accountid}/identities/"
    headers = CaseInsensitiveDict()
    headers["Content-type"] = "application/json; charset=utf-8"
    headers["Authorization"] = f"Bearer {token}"

    response = requests.request("POST", end_point, data=newIdentity, headers=headers)
    print(f"{response.reason} - {response.status_code}")

變量 newIdentity 具有以下數據

nID = {
        "privateData": {
            "birthday": "1985-30-11T18:23:27.955Z",
            "employeeNumber": "99999999",
            "secondaryEmail": "",
            "cityOfResidence": "Wakanda",
            "stateOfResidence": "Florida",
            "zipCode": "102837",
            "phoneNumberPrimary": "(999)-999-999)",
            "phoneNumberSecondary": "+5-(999)-999-9999"
        },
        "companyData": {
            "approvers": [
                {
                    "approverId": ""
                }
            ],
            "supervisorName": "Roger Rabbit",
            "departmentName": "Presidency",
            "jobTitle": "President",
            "siteId": "string",
            "companyName": "ACME Inc",
            "workerTypeDescription": "",
            "workerTypeCode": ""
        },
        "systemData": {
            "hasExtendedTime": "true",
            "activationDateUtc": "2022-03-16T18:23:27.955Z",
            "expirationDateUtc": "2022-03-16T18:23:27.955Z",
            "externalId": "999999",
            "externalSyncTimeUtc": "2022-03-16T18:23:27.955Z",
            "provisioningAttributes": [
                {
                    "name": ""
                }
            ],
            "customFields": [
                {
                    "customFieldType": "string",
                    "customFieldName": "SSNO",
                    "customFieldValue": "9999999"
                }
            ]
        },
        "nationalIdentities": [
            {
                "nationalIdentityNumber": "0914356777",
                "name": "Passport",
                "issuer": "Wakanda"
            }
        ],
        "description": "1st Record ever",
        "status": "Active",
        "firstName": "Bruce",
        "lastName": "Wayne",
        "middleName": "Covid",
        "displayName": "Bruce Wayne",
        "countryCode": "WK",
        "email": "bruce.wayne@wakanda.com",
        "creationOnBehalf": "ACME"
    }

什么可以解決問題? API 的 swagger 是

https://identityservice-demo.clearid.io/swagger/index.html#/Identities/get_api_v2_accounts__accountId__identities

提前感謝您的幫助

數據必須是字典,您可以嘗試導入 json 和 data=json.dumps(newIdentity),如果它一直返回 400,請通過使用 Postman 或任何請求重新創建請求來檢查 api 是否接受了所有參數editor,如果api使用了web接口,看看是什么原因導致400的。這是谷歌翻譯的,不知道我是不是在胡說八道:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM