Sample code for 30+ languages & platforms
Chilkat2-Python

Download SharePoint Lists and JSON Iterate

See more SharePoint Examples

Downloads the JSON containing the list of SharePoint lists, and iterates to get information for each.

Chilkat Chilkat2-Python Downloads

Chilkat2-Python
import sys
import chilkat2

success = False

# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

# -------------------------------------------------------------------------
# The following comments apply to SharePoint Windows classic authentication.
# -------------------------------------------------------------------------
# For example, imagine our SharePoint endpoint is https://xyzoffice.mycompany.com/
# The SHAREPOINT_NTLM_DOMAIN would be "mycompany.com"
# The SHAREPOINT_HTTPS_DOMAIN would be "xyzoffice.mycompany.com"
# Also, the SHAREPOINT_USERNAME would be just the name, not a full email address.
# for example, "chilkat" instead of "chilkat@mycompany.com"

http = chilkat2.Http()

# If SharePoint Windows classic authentication is used, then set the 
# Login, Password, LoginDomain, and NtlmAuth properties.
http.Login = "SHAREPOINT_USERNAME"
http.Password = "SHAREPOINT_PASSWORD"
http.LoginDomain = "SHAREPOINT_NTLM_DOMAIN"
http.NtlmAuth = True

# -------------------------------------------------------------------------
# The more common case is to use SharePoint Online authentication (via the SPOIDCRL cookie).
# If so, do not set Login, Password, LoginDomain, and NtlmAuth, and instead
# establish the cookie as shown at SharePoint Online Authentication
# -------------------------------------------------------------------------

# Indicate that we want a JSON reply
http.Accept = "application/json;odata=verbose"
http.AcceptCharset = "utf-8"

sbJson = chilkat2.StringBuilder()
success = http.QuickGetSb("https://SHAREPOINT_HTTPS_DOMAIN/_api/web/lists",sbJson)
if (success != True):
    print(http.LastErrorText)
    sys.exit()

json = chilkat2.JsonObject()
json.LoadSb(sbJson)
json.EmitCompact = False

# Iterate over the list of lists and show information for each list.
numLists = json.SizeOfArray("d.results")
i = 0
while i < numLists :
    json.I = i

    title = json.StringOf("d.results[i].Title")
    uri = json.StringOf("d.results[i].__metadata.uri")

    print(str(i + 1) + ": " + title)
    print("URI: " + uri)

    # To retrieve the contents of a particular list, an app would send a GET request to the list's URI.

    i = i + 1

# The output will look similar to this:

# 	1: appdata
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	2: Briefing 02032017
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	3: Cache Profiles
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	4: Composed Looks
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	5: Content and Structure Reports
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	6: Documents
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	7: Form Templates
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	8: List Template Gallery
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	9: Master Page Gallery
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	10: Notification List
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	11: Project Policy Item List
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	12: Quick Deploy Items
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	13: Relationships List
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	14: Reusable Content
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	15: Site Collection Documents
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	16: Site Collection Images
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	17: Solution Gallery
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	18: Style Library
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	19: Suggested Content Browser Locations
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	20: Tasks
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	21: TaxonomyHiddenList
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	22: Theme Gallery
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	23: Variation Labels
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	24: Web Part Gallery
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	25: wfpub
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
# 	26: Workflow Tasks
# 	URI: https://xyzoffice.mycompany.com/_api/Web/Lists(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
#