首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用条件导出用户- Python脚本

使用条件导出用户- Python脚本
EN

Stack Overflow用户
提问于 2018-06-02 05:01:03
回答 1查看 101关注 0票数 -3

我拥有的脚本将导出所有用户,但我希望导出具有type = xyz的用户。目录中有两种类型的用户,例如type a和type b,我只想导出类型属性匹配b的用户。

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

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2018-06-02 06:51:24

将将用户写入csv文件的语句包装在测试正确typeif语句中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50650949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档