次の方法で共有


SharePoint Online でテナント アクセス許可とアプリ専用を併用した開発

テナント アクセス許可とアプリ専用の組み合わせを必要とする SharePoint のプロバイダー ホスト型アドインで、開発者の操作性が変わりました。 この記事では、これらのソリューションの開発とデバッグの新しいエクスペリエンスについて説明します。

適用対象:SharePoint Online のプロバイダー ホスト型アドイン

問題を理解する

Visual Studio でデバッグに移動し、デバッグを開始すると、下の図のように "このアプリに対するテナント管理者の承認が必要です" というメッセージが表示されます。

テナント アドイン ダイアログを信頼できますか

[信頼する] がクリックできないようになっているのは、Visual Studio はプロジェクトの設定で指定した開発者サイト コレクションに対して動作していますが、テナント レベルのアクセス許可とアプリ専用の併用は、テナント管理サイトを信頼することによってのみ付与されるからです。

チュートリアル

手順 1:新しいサービス プリンシパルを作成する

テナントのサイト コレクションに移動し、新しいクライアント ID とクライアント シークレットを生成します。 (例: https://contoso.sharepoint.com/_layouts/15/appregnew.aspx。) このページの [クライアント ID] フィールドと、[クライアント シークレット] フィールドの両方で [生成] をクリックし、残りのフィールドに入力します。 アドインを開発するときには、[アプリ ドメイン] として、ポートを含む localhost を必ずご使用ください。 次の図のようになります。

AppRegNew ページで新しいサービス プリンシパルを作成する

手順 2:テナントのアクセス許可を付与する

この手順を実行するには、SharePoint Online の管理者である必要があります。

SharePoint 管理センター (たとえば、https://contoso-admin.sharepoint.com/_layouts/15/appinv.aspx) に移動し、テナントのアクセス許可を付与します。

XML でアプリの権限を指定する

権限の変更を確認するアプリの信頼ダイアログ

手順 3:マニフェストと Web.config を更新する

手順 1 で作成したクライアント ID に合わせて、Visual Studio のソリューションでマニフェストおよび web.config を更新します。

アドインの web.config でアプリのクライアント ID を設定します

手順 4:アプリをパッケージ化し、アプリ カタログにアプリ ファイルを追加します。

SharePoint アドイン プロジェクトの上で右クリックし、[公開] をクリックします。

手順 1 で作成した [クライアント ID][クライアント シークレット] の値を指定します。

Visual Studio のアドインの ID ダイアログでクライアント ID とシークレットを設定する

アドインをデバッグするには、以下の図のとおり、必ずポートを含む https://localhost を指定します。

デバッグの場所を に https://localhost 設定する

そして、アプリ カタログのサイトにアドインを展開します。

手順 5:開発者サイト コレクションにアドインをインストールします。

開発者サイトに移動し、アプリを追加します。 [アプリの詳細] をクリックします。

アプリ上のアプリの詳細リンクを選択する

[アプリ] タイルを選択した場合、[詳細情報] を選択して、アプリを要求する必要があります

ダイアログを完了してアプリをリクエストする

要求が送信されると、SharePoint の管理者またはアプリ カタログの管理者が要求を承認するまで、状態は保留状態になります。 要求を承認するには、アプリ カタログのアプリの要求を選択し、要求を承認します。

[アプリ要求を承認または却下] ダイアログ

要求が承認されると、アドインをインストールできるようになります。

アプリの信頼ダイアログ プロンプト

手順 6:アドインのデバッグ

Visual Studio の Web プロジェクトで右クリックし、[デバッグ] を選んで新しいインスタンスを開始します。 開始したら、サイトに移動し、アドインを起動します。

Visual Studioでアドインをデバッグする

注:

  • 何らかの理由でアプリのパッケージ ファイルが変更された場合は、アプリ カタログに再展開し、開発者サイト コレクションに再インストールする必要があります
  • アドインに AppInstalled イベント レシーバーがある場合は、手順 5 を実行する前に、手順 6 を実行する必要があります

関連項目