方法
Python を介してトークンをリクエストする場合、リクエストは技術的に匿名になります。 IWA SSO を利用する場合、匿名認証は ArcGIS Web Adaptor レベルで無効になるため、トークンを生成しようとすると 404 Unauthorized エラーが返されます。
この制限を回避するには、Python 環境に requests-negotiate-sspi モジュールをインストールする必要があります。これは、リクエスト内に Windows 認証情報を渡す機能を「requests」モジュールに付与するために使用します。
以下のサンプル スクリプトを使用すると、トークンを生成できます。
import requests from requests_negotiate_sspi import HttpNegotiateAuth import json server = "https://hostname.domain.com/server" tokenurl = server + '/tokens' params = {'username':'username@domain','password':'password','client':'referer','referer': server,'f':'json'} request = requests.get(tokenurl ,params=params, auth=HttpNegotiateAuth()) json = request.json() myToken = json.get("token","") print(myToken)
ArcGIS エキスパートのサポートを受ける
Esri Support アプリのダウンロード