<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Web AppBuilder - From REST API - Python in ArcGIS REST APIs and Services Questions</title>
    <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/web-appbuilder-from-rest-api-python/m-p/127348#M594</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to create a WebApp, 'Web Mapping Application', from Python. Unfortunately, there is not a module to run the Web AppBuilder from Python (yet?)...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Consequently, I try to exploit the Portal for ArcGIS REST APIs to add a new object from the base configuration of a WebApp. Unsuccessfully, I fail. Either I'm missing information, or I'm misusing URLs, which is the most likely option.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the order of the calls I'm theoretically trying to make:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;DIV style="box-sizing: border-box; font-family: 'Segoe UI', 'Helvetica Neue', 'Apple Color Emoji', 'Segoe UI Emoji', Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;GET /portal/apps/webappbuilder/stemapp/predefined-apps/default/config.json&lt;/DIV&gt;&lt;/LI&gt;&lt;LI&gt;&lt;DIV style="box-sizing: border-box; font-family: 'Segoe UI', 'Helvetica Neue', 'Apple Color Emoji', 'Segoe UI Emoji', Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;POST /portal/sharing/rest/content/users/{username}/addItem&lt;/DIV&gt;&lt;/LI&gt;&lt;LI&gt;&lt;DIV style="box-sizing: border-box; font-family: 'Segoe UI', 'Helvetica Neue', 'Apple Color Emoji', 'Segoe UI Emoji', Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;GET /portal/sharing/rest/content/items/{webappid}?f=json&amp;amp;token={usertoken}&lt;/DIV&gt;&lt;/LI&gt;&lt;LI&gt;&lt;DIV style="box-sizing: border-box; font-family: 'Segoe UI', 'Helvetica Neue', 'Apple Color Emoji', 'Segoe UI Emoji', Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;POST /portal/sharing/rest/content/users/pvvrot/items/{webappid}/update&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, the second URL seems to fail. Either because I'm editing the wrong parameters, or because I'm missing parameters, or because I'm missing headers. Currently, the server returns a status_code=200 and a completely empty body.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a code snippet&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;def test_webapp():&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; now = datetime.datetime.now()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nowstr = now.strftime("%Y%m%d%H%M")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; token = get_token_portal()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bdata = {"f": "json", "token": token}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_title = f"Test_{nowstr}"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_tags = ["test"]&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # -------------------------------------------&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get default conf&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; url = f"{url_portal}/apps/webappbuilder/stemapp/predefined-apps/default/config.json"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; r_conf = requests.get(url=url, data=bdata, verify=False)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf = r_conf.json()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # -------------------------------------------&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Change default conf&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["theme"]["sharedTheme"] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "isPortalSupport": True,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "useHeader": False,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "useLogo": False&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["portalUrl"] = url_portal&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["authorizedCrossOriginDomains"] = [portal_fqdn]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["title"] = webapp_title&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["geometryService"] = f"{url_server}/rest/services/Utilities/Geometry/GeometryServer"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Topographie&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["map"]["itemId"] = "b77129664c034fc2b21bc3ea9e8d3300"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["map"]["mapOptions"] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "extent": {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "xmin": -18000000,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ymin": -12000000,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "xmax": 18000000,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ymax": 16000000,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "spatialReference": {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "wkid": 102100&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; # from mapProperties ?&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["isWebTier"] = False&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["httpProxy"] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "useProxy": True,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "url": f"//{portal_fqdn}/sharing/proxy"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # -------------------------------------------&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Send add item&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; url = f"{url_portal}/sharing/rest/content/users/{username}/addItem"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strtags = ",".join([x for x in webapp_tags])&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc = webapp_title.replace("_", " ")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "f": "json",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "token": token,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "title": webapp_title,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "type": "Web Mapping Application",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "typeKeywords": f"Web AppBuilder, Ready To Use, Python, WAB2D",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text": str(webapp_conf).replace('"', '\\"'),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "snippet": desc,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "tags": strtags,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; r_newwebapp = requests.post(url=url, data=data, verify=False)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(r_newwebapp.status_code)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(dict(r_newwebapp.headers))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(r_newwebapp.text)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Results&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;'{r_newwebapp.status_code}'&lt;BR /&gt;200&lt;BR /&gt;'{r_newwebapp.headers}'&lt;BR /&gt;{&amp;nbsp;&amp;nbsp; 'Connection': 'Keep-Alive',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Content-Length': '0',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Content-Type': 'unknown/unknown',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Date': 'Mon, 17 Feb 2020 14:43:24 GMT',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Keep-Alive': 'timeout=5, max=100',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Server': 'Apache/2.4.41 (Win64) OpenSSL/1.1.1c'}&lt;BR /&gt;'{r_newwebapp.text}'&lt;BR /&gt;''&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there anyone who can help me?&lt;/P&gt;&lt;P&gt;Thank you in advance,&lt;/P&gt;&lt;P&gt;Pierre&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 17 Feb 2020 15:18:04 GMT</pubDate>
    <dc:creator>Pierre-VincentVROT</dc:creator>
    <dc:date>2020-02-17T15:18:04Z</dc:date>
    <item>
      <title>Web AppBuilder - From REST API - Python</title>
      <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/web-appbuilder-from-rest-api-python/m-p/127348#M594</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to create a WebApp, 'Web Mapping Application', from Python. Unfortunately, there is not a module to run the Web AppBuilder from Python (yet?)...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Consequently, I try to exploit the Portal for ArcGIS REST APIs to add a new object from the base configuration of a WebApp. Unsuccessfully, I fail. Either I'm missing information, or I'm misusing URLs, which is the most likely option.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the order of the calls I'm theoretically trying to make:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;DIV style="box-sizing: border-box; font-family: 'Segoe UI', 'Helvetica Neue', 'Apple Color Emoji', 'Segoe UI Emoji', Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;GET /portal/apps/webappbuilder/stemapp/predefined-apps/default/config.json&lt;/DIV&gt;&lt;/LI&gt;&lt;LI&gt;&lt;DIV style="box-sizing: border-box; font-family: 'Segoe UI', 'Helvetica Neue', 'Apple Color Emoji', 'Segoe UI Emoji', Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;POST /portal/sharing/rest/content/users/{username}/addItem&lt;/DIV&gt;&lt;/LI&gt;&lt;LI&gt;&lt;DIV style="box-sizing: border-box; font-family: 'Segoe UI', 'Helvetica Neue', 'Apple Color Emoji', 'Segoe UI Emoji', Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;GET /portal/sharing/rest/content/items/{webappid}?f=json&amp;amp;token={usertoken}&lt;/DIV&gt;&lt;/LI&gt;&lt;LI&gt;&lt;DIV style="box-sizing: border-box; font-family: 'Segoe UI', 'Helvetica Neue', 'Apple Color Emoji', 'Segoe UI Emoji', Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;POST /portal/sharing/rest/content/users/pvvrot/items/{webappid}/update&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, the second URL seems to fail. Either because I'm editing the wrong parameters, or because I'm missing parameters, or because I'm missing headers. Currently, the server returns a status_code=200 and a completely empty body.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a code snippet&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;def test_webapp():&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; now = datetime.datetime.now()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nowstr = now.strftime("%Y%m%d%H%M")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; token = get_token_portal()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bdata = {"f": "json", "token": token}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_title = f"Test_{nowstr}"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_tags = ["test"]&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # -------------------------------------------&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get default conf&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; url = f"{url_portal}/apps/webappbuilder/stemapp/predefined-apps/default/config.json"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; r_conf = requests.get(url=url, data=bdata, verify=False)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf = r_conf.json()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # -------------------------------------------&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Change default conf&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["theme"]["sharedTheme"] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "isPortalSupport": True,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "useHeader": False,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "useLogo": False&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["portalUrl"] = url_portal&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["authorizedCrossOriginDomains"] = [portal_fqdn]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["title"] = webapp_title&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["geometryService"] = f"{url_server}/rest/services/Utilities/Geometry/GeometryServer"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Topographie&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["map"]["itemId"] = "b77129664c034fc2b21bc3ea9e8d3300"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["map"]["mapOptions"] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "extent": {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "xmin": -18000000,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ymin": -12000000,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "xmax": 18000000,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ymax": 16000000,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "spatialReference": {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "wkid": 102100&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; # from mapProperties ?&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["isWebTier"] = False&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webapp_conf["httpProxy"] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "useProxy": True,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "url": f"//{portal_fqdn}/sharing/proxy"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # -------------------------------------------&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Send add item&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; url = f"{url_portal}/sharing/rest/content/users/{username}/addItem"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strtags = ",".join([x for x in webapp_tags])&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc = webapp_title.replace("_", " ")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "f": "json",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "token": token,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "title": webapp_title,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "type": "Web Mapping Application",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "typeKeywords": f"Web AppBuilder, Ready To Use, Python, WAB2D",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text": str(webapp_conf).replace('"', '\\"'),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "snippet": desc,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "tags": strtags,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; r_newwebapp = requests.post(url=url, data=data, verify=False)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(r_newwebapp.status_code)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(dict(r_newwebapp.headers))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(r_newwebapp.text)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Results&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;'{r_newwebapp.status_code}'&lt;BR /&gt;200&lt;BR /&gt;'{r_newwebapp.headers}'&lt;BR /&gt;{&amp;nbsp;&amp;nbsp; 'Connection': 'Keep-Alive',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Content-Length': '0',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Content-Type': 'unknown/unknown',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Date': 'Mon, 17 Feb 2020 14:43:24 GMT',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Keep-Alive': 'timeout=5, max=100',&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Server': 'Apache/2.4.41 (Win64) OpenSSL/1.1.1c'}&lt;BR /&gt;'{r_newwebapp.text}'&lt;BR /&gt;''&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there anyone who can help me?&lt;/P&gt;&lt;P&gt;Thank you in advance,&lt;/P&gt;&lt;P&gt;Pierre&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Feb 2020 15:18:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/web-appbuilder-from-rest-api-python/m-p/127348#M594</guid>
      <dc:creator>Pierre-VincentVROT</dc:creator>
      <dc:date>2020-02-17T15:18:04Z</dc:date>
    </item>
  </channel>
</rss>

