I was told I would need "Basic" Runtime license level unless I used Esri named users. I am authenticating using Oauth2 and Esri named users, but when I try to run the code below, I get an error message,
"Attempt to use functionality that is not supported for the current license level".
My current license level is "Lite". Shouldn't I be able to sync with "Lite" using named users?
Thanks,
Matt
<SPAN class="keyword token">function</SPAN> <SPAN class="token function">executeSync</SPAN><SPAN class="punctuation token">(</SPAN>databasename<SPAN class="punctuation token">,</SPAN>index<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
resultProgress<SPAN class="punctuation token">.</SPAN>value <SPAN class="operator token">=</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> content<SPAN class="operator token">=</SPAN>layersModel<SPAN class="punctuation token">.</SPAN><SPAN class="keyword token">get</SPAN><SPAN class="punctuation token">(</SPAN>index<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> synctaskid<SPAN class="operator token">=</SPAN>content<SPAN class="punctuation token">.</SPAN>layerId<SPAN class="operator token">+</SPAN><SPAN class="string token">"_syncTaskId"</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> x<SPAN class="operator token">=</SPAN>content<SPAN class="punctuation token">.</SPAN>layerUrl<SPAN class="punctuation token">.</SPAN><SPAN class="token function">substring</SPAN><SPAN class="punctuation token">(</SPAN>content<SPAN class="punctuation token">.</SPAN>layerUrl<SPAN class="punctuation token">.</SPAN><SPAN class="token function">lastIndexOf</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"/"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> featurelayerid<SPAN class="operator token">=</SPAN>x<SPAN class="punctuation token">.</SPAN><SPAN class="token function">replace</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"/"</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> Urlsplitted<SPAN class="operator token">=</SPAN>content<SPAN class="punctuation token">.</SPAN>layerUrl<SPAN class="punctuation token">.</SPAN><SPAN class="token function">replace</SPAN><SPAN class="punctuation token">(</SPAN>content<SPAN class="punctuation token">.</SPAN>layerUrl<SPAN class="punctuation token">.</SPAN><SPAN class="token function">substring</SPAN><SPAN class="punctuation token">(</SPAN>content<SPAN class="punctuation token">.</SPAN>layerUrl<SPAN class="punctuation token">.</SPAN><SPAN class="token function">lastIndexOf</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"/"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
syncLayerOptions<SPAN class="punctuation token">.</SPAN>layerId<SPAN class="operator token">=</SPAN>featurelayerid<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> newObject1<SPAN class="operator token">=</SPAN>ArcGISRuntimeEnvironment<SPAN class="punctuation token">.</SPAN><SPAN class="token function">createObject</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Geodatabase"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">{</SPAN>id<SPAN class="punctuation token">:</SPAN><SPAN class="string token">"gdb"</SPAN><SPAN class="punctuation token">,</SPAN>path<SPAN class="punctuation token">:</SPAN>outputGdb<SPAN class="operator token">+</SPAN><SPAN class="string token">"/"</SPAN><SPAN class="operator token">+</SPAN>databasename<SPAN class="punctuation token">,</SPAN>serviceUrl<SPAN class="punctuation token">:</SPAN>Urlsplitted<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> newObject2<SPAN class="operator token">=</SPAN>ArcGISRuntimeEnvironment<SPAN class="punctuation token">.</SPAN><SPAN class="token function">createObject</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"GeodatabaseSyncTask"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">{</SPAN>id<SPAN class="punctuation token">:</SPAN>synctaskid<SPAN class="punctuation token">,</SPAN>url<SPAN class="punctuation token">:</SPAN>Urlsplitted<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
syncJob <SPAN class="operator token">=</SPAN>newObject2<SPAN class="punctuation token">.</SPAN><SPAN class="token function">syncGeodatabase</SPAN><SPAN class="punctuation token">(</SPAN>syncParameters<SPAN class="punctuation token">,</SPAN> newObject1<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">delay</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="number token">1000</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">function</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN>syncJob<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
syncWindow<SPAN class="punctuation token">.</SPAN><SPAN class="token function">open</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
simpletimer<SPAN class="punctuation token">.</SPAN><SPAN class="token function">start</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
resultProgress<SPAN class="punctuation token">.</SPAN>value <SPAN class="operator token">+</SPAN><SPAN class="operator token">=</SPAN> <SPAN class="number token">1.0</SPAN><SPAN class="punctuation token">;</SPAN>
syncJob<SPAN class="punctuation token">.</SPAN>credential<SPAN class="punctuation token">.</SPAN>token<SPAN class="operator token">=</SPAN>app<SPAN class="punctuation token">.</SPAN>portal<SPAN class="punctuation token">.</SPAN>token<SPAN class="punctuation token">;</SPAN>
syncJob<SPAN class="punctuation token">.</SPAN>jobStatusChanged<SPAN class="punctuation token">.</SPAN><SPAN class="token function">connect</SPAN><SPAN class="punctuation token">(</SPAN>updateSyncJobStatus<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
simpletimer<SPAN class="punctuation token">.</SPAN>running<SPAN class="operator token">=</SPAN><SPAN class="keyword token">false</SPAN><SPAN class="punctuation token">;</SPAN>
simpletimer<SPAN class="punctuation token">.</SPAN><SPAN class="token function">stop</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
syncJob<SPAN class="punctuation token">.</SPAN><SPAN class="token function">start</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="punctuation token">{</SPAN>
syncWindow<SPAN class="punctuation token">.</SPAN><SPAN class="token function">open</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
statusText <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Sync failed"</SPAN><SPAN class="punctuation token">;</SPAN>
syncWindow<SPAN class="punctuation token">.</SPAN><SPAN class="token function">hideWindow</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="number token">5000</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
console<SPAN class="punctuation token">.</SPAN><SPAN class="token function">log</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"sync else"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</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></SPAN></SPAN>