I want to create a new Web Map item using the Python API. I manually created a Web Map with the correct configuration, and then used
Item<SPAN class="punctuation token">.</SPAN>get_data<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>
to get a JSON representation of the Web Map, which is as follows:
<SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"operationalLayers"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"baseMap"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"baseMapLayers"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"id"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"CBMT_CBCT_GEOM_3857_8319"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"layerType"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"ArcGISTiledMapServiceLayer"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"url"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token"><SPAN>"</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fgeoappext.nrcan.gc.ca%2Farcgis%2Frest%2Fservices%2FBaseMaps%2FCBMT_CBCT_GEOM_3857%2FMapServer" target="_blank">http://geoappext.nrcan.gc.ca/arcgis/rest/services/BaseMaps/CBMT_CBCT_GEOM_3857/MapServer</A><SPAN>"</SPAN></SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"visibility"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="keyword token">true</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"opacity"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"title"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"CBMT_CBCT_GEOM_3857"</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"id"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"CBMT_TXT_3857_1321"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"layerType"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"ArcGISTiledMapServiceLayer"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"url"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token"><SPAN>"</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fgeoappext.nrcan.gc.ca%2Farcgis%2Frest%2Fservices%2FBaseMaps%2FCBMT_TXT_3857%2FMapServer" target="_blank">http://geoappext.nrcan.gc.ca/arcgis/rest/services/BaseMaps/CBMT_TXT_3857/MapServer</A><SPAN>"</SPAN></SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"visibility"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="keyword token">true</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"opacity"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"title"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"CBMT_TXT_3857"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"showLegend"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="keyword token">true</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"title"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"The Canada Base Map - Transportation (CBMT)"</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"spatialReference"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"wkid"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">102100</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"latestWkid"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">3857</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"authoringApp"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"WebMapViewer"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"authoringAppVersion"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"10.6.1"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"version"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"2.11"</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>I then saved this to a JSON file, CBMT.json.
Next, I tried to create a new Web Map using this JSON as a template:
item_properties <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"type"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Web Map"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"tags"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"basemap"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"access"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"org"</SPAN>
<SPAN class="punctuation token">}</SPAN>
cbmt <SPAN class="operator token">=</SPAN> tc_gis<SPAN class="punctuation token">.</SPAN>content<SPAN class="punctuation token">.</SPAN>add<SPAN class="punctuation token">(</SPAN>item_properties<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"CBMT.json"</SPAN><SPAN class="punctuation token">,</SPAN> folder <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Basemaps"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>The portal item is created, however, the web map appears to not be valid. In Portal, clicking on the Settings tab on the Portal item hangs, as does trying to open the web map in the map viewer.