1

どこにでもサンプルが見つかりません!このフォーマットは、Applications Insights REST APIサイトにhereとして掲載されています。これは形式と例だけである。私はフォーマットに従うことができたと思うが、試してみたところ、「認証に失敗しました。」というエラーメッセージが表示されました。通常、このトークンを取得するには、あなたのアプリをAzure ADに登録し、そのプロセスに従わなければなりません。私は登録が必要なアプリがありません。私はのapi/appを使いたいです。 Azure APIフォーマットを使用し、Public APIフォーマットを使用しない理由は、rate limitを回避することです。約1分おきにリクエストを行う必要があります。助けて!AD認証でAzure APIフォーマットを使用してApplication Insightsデータにアクセスする方法

答えて

1

あなたの説明によると、まずサービス原則を作成し、それを使ってAPIトークンメッセージを取得する必要があります。このリンク:Use portal to create an Azure Active Directory application and service principal that can access resourcesを参照してください。クライアントID(app id)とclient_secretが表示されます。次のスクリプトを使用してトークンを取得することができます(Power Shellを使用)。

##get token 
$TENANTID="******" 
$APPID="<client_id>" 
$PASSWORD="<client_secret>" 
$result=Invoke-RestMethod -Uri https://login.microsoftonline.com/$TENANTID/oauth2/token?api-version=1.0 -Method Post -Body @{"grant_type" = "client_credentials"; "resource" = "https://management.core.windows.net/"; "client_id" = "$APPID"; "client_secret" = "$PASSWORD" } 
$token=$result.access_token 

トークンを取得したら、ヘッダメッセージを作成する必要があります。下記のように:

[email protected]{ 
    'authorization'="Bearer $token" 
    'host'="management.azure.com" 
    'contentype'='application/json' 
} 

次に、必要な情報を取得するためにAPIを使用できます。

Invoke-RestMethod -Uri $url -Headers $Headers -Method GET 

更新:

あなたは洞察REST APIをアプリケーションを使用したい場合は、トークンを取得するためのサービスの原則を使用する必要はありません。 APIキーを作成する必要があります。これはlinkを参照してください。

+0

@Kendra Ball多分私は間違っています。 Application Insights APIを使用したい、トークンを取得する必要がある場合は、APIキーを作成する必要があります。この[リンク](https://dev.applicationinsights.io/quickstart/quickstart.markdown)を参照してください。 –

関連する問題