使用Python scrip导出用户

2024-04-20 06:36:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我的脚本正在导出所有用户,但我希望导出类型为xyz的用户。目录中有两种类型的用户,例如类型a和类型b,我只想导出类型属性与类型b匹配的用户

请帮助我在脚本中添加一个子句/语句,这样它应该只拉类型为“B”的用户,而忽略其他类型的用户。你知道吗

import requests
import json
import re
import sys
import csv


orgName = ""

apiKey = ""

api_token = "SSWS "+ apiKey

headers = {'Accept':'application/json','Content-Type':'application/json','Authorization':api_token}

def GetPaginatedResponse(url):

    response = requests.request("GET", url, headers=headers)

    returnResponseList = []

    responseJSON = json.dumps(response.json())

    responseList = json.loads(responseJSON)

    returnResponseList = returnResponseList + responseList


    if "errorCode" in responseJSON:

        print "\nYou encountered following Error: \n"
        print responseJSON
        print "\n"

        return "Error"

    else:

        headerLink= response.headers["Link"]

        while str(headerLink).find("rel=\"next\"") > -1:

            linkItems = str(headerLink).split(",")

            nextCursorLink = ""
            for link in linkItems:

                if str(link).find("rel=\"next\"") > -1:
                    nextCursorLink = str(link)


            nextLink = str(nextCursorLink.split(";")[0]).strip()
            nextLink = nextLink[1:]
            nextLink = nextLink[:-1]

            url = nextLink

            response = requests.request("GET", url, headers=headers)

            responseJSON = json.dumps(response.json())

            responseList = json.loads(responseJSON)

            returnResponseList = returnResponseList + responseList

            headerLink= response.headers["Link"]


        returnJSON = json.dumps(returnResponseList)

        return returnResponseList



def DownloadSFUsers():

    url = "https://"+orgName+".com/api/v1/users"

    responseJSON = GetPaginatedResponse(url)

    if responseJSON != "Error":


        userFile = open("Only-Okta_Users.csv", "wb")

        writer = csv.writer(userFile)

        writer.writerow(["login","type"]).encode('utf-8')

        for user in responseJSON:


            login = user[u"profile"][u"login"]
            type  = user[u"credentials"][u"provider"][u"type"]
            row = ("+login+","+type).encode('utf-8')

            writer.writerow([login,type])

if __name__ == "__main__":

    DownloadSFUsers()

Tags: 用户importjsonurl类型ifresponsetype