Office アドインおよび SharePoint アドインのライセンスLicense your Office and SharePoint Add-ins

Office アドインと SharePoint アドインのライセンス フレームワークは、アドインの正当な使用を検証して実施するコードをアドインに組み込む方法を提供します。アドインへのアクセスは、有効なライセンスを所有するユーザーに制限することができます。また、そのライセンスのプロパティに基づいて、使用可能な機能、アドインの動作方法、またはその他のロジックを指定することもできます。アドインの販売を計画している場合は、ライセンス フレームワークを使用して、ユーザーがそのアドインの有効なライセンスを所有しているかどうかを判断し、ライセンスのプロパティに基づいて、その機能にアクセスするロジックを構築する必要があります。The licensing framework for Office and SharePoint Add-ins gives you a way to include code in your add-ins to verify and enforce their legal use. You can restrict access to your add-ins to only those users who have a valid license, or specify which features are available, how the add-in behaves, or other logic, based on the properties of that license. If you plan to sell your add-in, you should build in logic that uses the licensing framework to determine whether a user has a valid license for the add-in, and give access to its features based on the license's properties.

アドイン ライセンス フレームワーク自体はアドイン ライセンスを必要としません。ライセンス フレームワークとは、コードをアドインに追加して、ライセンス情報を取得し、その情報に基づいて処理を行うための構造です。The add-in license framework itself does not enforce add-in licenses. It's a structure in which you can add code to your add-ins to retrieve and then act on license information.

アドイン ライセンス フレームワークは、Office ストアから直接取得されたアドイン、または SharePoint でホストされているアドイン カタログで使用できる Office ストアのアドインにのみ適用されます。The add-in license framework applies only to add-ins acquired directly from the Office Store or add-ins from the Office Store that are made available in an add-in catalog hosted on SharePoint 2013. Add-ins made available in other ways—such as from a file system location, or uploaded directly to an add-in catalog hosted on SharePoint—cannot use the add-in license framework. 別の方法で利用できるようになるアドイン (たとえば、ファイル システムの場所から利用できる場合や、SharePoint でホストされているアドイン カタログに直接アップロードされている場合など) は、アドイン ライセンス フレームワークを使用できません。The add-in license framework applies only to add-ins acquired directly from the offappstore or add-ins from the offappstore that are made available in an add-in catalog hosted on SharePoint 2013. Add-ins made available in other ways—such as from a file system location, or uploaded directly to an add-in catalog hosted on SharePoint—cannot use the add-in license framework.

Office および SharePoint のアドイン ライセンス フレームワークには、次のものが含まれています。The Office and SharePoint 2013 add-in license framework includes:

  • Office ストア: ユーザーがライセンスされた Office アドインと SharePoint アドインを取得できるサイト。Office ストアは、支払いを処理し、ライセンスを発行します。The Office Store—a site where users can acquire licensed Office and SharePoint Add-ins. The Office Store handles payment and issues licenses.
  • ライセンスの保存とアドイン ライセンス トークンの更新。Storage of licenses, and renewal of add-in license tokens.
  • ライセンス情報を取得するために使用できる API。APIs you can use to get license information.
  • ライセンスが有効かどうかを検証するために使用できる Web サービス。A web service you can use to verify whether a license is valid.
  • 特に SharePoint アドインに対して、SharePoint は、アドイン ライセンス管理のための管理ユーザー インターフェイスを提供します。アドインの購入者はこのインターフェイスを使用して、ライセンスをユーザーに割り当てたり、ライセンスの管理方法を他のユーザーに委任したりします。Specifically for SharePoint Add-ins, SharePoint 2013 provides an administration user interface for add-in license management, where an add-in purchaser can assign the license to a user, and also delegate to other users how the license is managed.
  • たとえば、Outlook アドインの場合、管理者が自社の Outlook アドインの購入と管理を行うことができる Exchange 管理コンソールが Exchange で提供されます。Specifically for Outlook add-ins, Exchange 2013 provides the Exchange Administration Console, where administrators can purchase and manage Outlook add-ins for their organization.

アドイン ライセンス フレームワークには、ライセンス情報に基づいてアドインのアクセスと動作をカスタマイズする方法が用意されています。The add-in license framework provides a way for you to customize add-in access and behavior based on license information. The following is the general pattern for performing add-in license checks. アドイン ライセンス チェックを実行する一般的なパターンを以下のセクションで説明します。The following sections outline the general pattern for performing add-in license checks.

ライセンスを念頭に置いてアドインのユーザー エクスペリエンスを設計するDesign your add-in user experience with licensing in mind

ライセンス フレームワークを使用することを計画している場合は、そのことを念頭に置いてアドインを設計するようにします。ライセンス情報に基づいて、どのユーザー エクスペリエンスをコントロールまたはカスタマイズするかを決定します。たとえば、次のようにできます。If you plan on using the licensing framework, you should design your add-in with this in mind. Decide what user experience you want to control or customize based on license information. For example, you might want to:

  • ユーザーがアドインを起動するたびに、ユーザーが有効なライセンスを持っていることを確認します。Check that the user has a valid license each time the user launches the add-in.
  • ユーザーが試用ライセンスを持っている場合は、アドインの特定の機能のみを利用可能にします。Make only certain functionality in your add-in available if the user has a trial license.
  • 作業ウィンドウまたはコンテンツ アドインの場合は、ユーザーがアドインに匿名でアクセスしたかそれとも有効なライセンスを使用してサインインしたかに応じて、ユーザーに異なるユーザー エクスペリエンスを提供します。For task pane or content add-ins, offer the user a different experience based on whether they access your add-in anonymously, or signed in with a valid license.

アドイン コードにライセンス チェック機能を追加するAdd license checks to your add-in code

ライセンス情報に基づいてカスタマイズするエクスペリエンスごとに、ライセンス チェックを実行するイベントのコードを追加します。For each experience you want to customize based on license information, add code for that event that performs a license check. The license check consists of determining if the license token is present, and if it is, validating that license token. ライセンス チェックは、そのライセンス トークンが存在するかどうかを判別し、存在する場合にはそのライセンス トークンを検証します。For each experience you want to customize based on license information, add code for that event that performs a license check. The license check consists of determining if the license token is present, and if it is, validating that license token.

ライセンス トークンがある場合に、そのライセンス トークンを取得するRetrieve the license token, if present

ライセンス チェック コードが、アドイン ライセンス トークンがあるかどうかを判別し、ある場合にはそのトークンを取得するようにします。Your license checking code should determine if the add-in license token is present, and retrieve it if it is.

  • コンテンツおよび作業ウィンドウの Office アドイン の場合は、アドインが起動して Office アプリケーションがアドインのホーム ページを要求するときに、Office アプリケーションはライセンス トークンを HTTP 要求のクエリ パラメーターとして渡します。アドイン コードはこの情報を抽出してキャッシュし、アドインのライセンス チェック コードが後でこの情報にアクセスできるようにします。For content and task pane Office Add-ins, when the add-in is launched and the Office application requests the add-in home page, the Office application passes the license token as a query parameter in the HTTP request. The add-in code must extract and cache this information, so that the license checking code in the add-in can later access it.

    ユーザーが自分の Microsoft アカウントにサインインしていない場合、アドインのホーム ページを要求する Office アプリケーションでは、ライセンス トークンのパラメーターが追加されません。If the user is not signed in to their Microsoft account, the Office application requesting the add-in home page does not append the license token parameter. 詳細については、「Office アドインのアドイン ライセンス トークンと匿名アクセス」という次のセクションを参照してください。For more information, see the next section Add-in license tokens and anonymous access for Office Add-ins.

  • 有料版の Outlook アドインの場合、Exchange によってアプリのソース場所の URL がクエリ パラメーターとしてライセンス トークンに追加され、そのアドイン マニフェストが Outlook に送信されます。For paid Outlook add-ins, Exchange appends the app's source location URL with a license token as a query parameter of the URL, then transmits the add-in manifest to Outlook. When the add-in is launched, Outlook passes the license token as a query parameter in the HTTP request. The add-in code must extract and cache this information, so that the license checking code in the add-in can later access it. アドインを起動すると、Outlook は HTTP 要求でライセンス トークンをクエリ パラメーターとして渡します。When the add-in is launched, Outlook passes the license token as a query parameter in the HTTP request. 後ほど、アドイン内のライセンス チェック コードがアクセスできるように、アドイン コードはこの情報を取り出してキャッシュに入れる必要があります。The add-in code must extract and cache this information so that the license checking code in the add-in can later access it.

  • SharePoint アドインの場合は、アプリのライセンス チェック コードが SharePoint 展開をクエリし、ライセンス トークンを検索します。For SharePoint Add-ins, the app's license checking code queries the SharePoint deployment for the license token.

Office アドインのアドイン ライセンス トークンと匿名アクセスAdd-in license tokens and anonymous access for Office Add-ins

アドインが最大限に浸透して普及するように、Office 2013 Service Pack 1 より、Microsoft は Office アドインをアクティベートするために Office に Microsoft アカウントでサインインすることを不要にしました。Office 2013 Service Pack 1 からは、ユーザーが Microsoft アカウントでログインした場合に限り、アドイン ライセンス トークンが初期 HTTP 要求の一部として渡されます。To help maximize the reach and adoption of your add-ins, as of Office 2013, Service Pack 1, Microsoft will no longer require that a user be signed into Office with their Microsoft account in order to activate Office Add-ins. As of Office 2013, Service Pack 1, the add-in license token will be passed as part of the initial HTTP request only if the user is signed in with their Microsoft Account.

ユーザーが自分の Microsoft アカウントにサインインしていない場合、アドインのホーム ページを要求する Office アプリケーションでは、ライセンス トークンのパラメーターが追加されません。If the user is not signed in to their Microsoft account, the Office application requesting the add-in home page does not append the license token parameter. そのため、アプリのホームページに関する HTTP 要求ごとにライセンス トークンが存在するかどうかを判別するコードをアドインに含める必要があります。Therefore, you must include code in your add-in that determines whether the license token is present on each HTTP request for the app's home page. トークンが存在しない場合、アドインは匿名ユーザーからの要求として処理し、開発者が決定した UI と機能を適宜提供します。If it is not, your add-in can treat the request as coming from an anonymous user, and present the UI and functionality that you decide is appropriate. アドイン ライセンス フレームワークを使用して、Microsoft アカウントにサインインしていないユーザーにアドインが表示する内容をカスタマイズできます。Use the add-in licensing framework to customize what your add-in presents to users who are not signed into their Microsoft accounts. たとえば、アドインに関する詳細や、アドインの Office ストア登録情報へのリンク、数を絞り込んだ機能セット、その他の関連資料を示す UI を、アドインで表示することができます。For example, your add-in could present UI that provides more information about your add-in, a link to your add-in's Office Store listing, a reduced set of functionality, or other relevant material.

アドイン ライセンスの種類Add-in license type ユーザーが匿名の (ライセンス トークンが存在しない) 場合の推奨 UXRecommended UX when the user is anonymous (license token is not present)
無料版Free 動作に変わりはありません。アドインは同じように機能します。No change in behavior; add-in can function the same. ただし、無料版アドインのユーザー ID を識別するためのライセンス トークンを使用する場合には、However, if you rely on the license token to determine user identity
アドインを十分に活用できるように、Microsoft アカウントで Office にサインインするようNo change in behavior, add-in can function the same. However, if you rely on the license token to determine user identity of your free add-in, you might want to provide a notice to the user asking them to sign in to Office with a Microsoft Account to get the full benefits of your add-in.
ユーザーに依頼する通知を表示できます。to get the full benefits of your add-in.
試用版Trial 匿名ユーザーの場合も、同じ試用版アドイン エクスペリエンスを提供します。Provide the same trial add-in experience when the user is anonymous. 試用版アドインのユーザー ID を識別するためのライセンス トークンを使用する場合には、If you rely on the license token to determine user identity
アドインを十分に活用できるように、Microsoft アカウントで Office にサインインするようProvide the same trial add-in experience when the user anonymous. If you rely on the license token to determine user identity of your trial add-in, you might want to provide a notice to the user asking them to sign in to Office with a Microsoft Account to get the full benefits of your add-in.
ユーザーに依頼する通知を表示できます。to get the full benefits of your add-in.
有料版Paid アドインが有料版ライセンスのみをサポートする場合 (つまり、試用版エクスペリエンスを提供しない場合)、If your add-in supports only paid licenses (that is, it doesn't provide a trial experience), you should present the user with
ユーザーに対して、機能するアドインではなく、アドインに関する情報を、アドインの Office ストア登録ページへのハイパーリンクと一緒に表示する必要があります。information about your add-in, rather than a functional add-in, along with a hyperlink to your add-in's Office Store listing page.
このようにして、対象アドインについてユーザーに知らせ、購入を勧めることができます。This way users are aware of your add-in and encouraged to purchase it.

既定では、アドインの作業ウィンドウまたはコンテンツ アドインがこのライセンス チェックを実行しない場合、アドインはライセンス ユーザーに提供するのと同じ UI と機能を匿名ユーザーに提供します。By default, if your add-in task pane or content add-in does not perform this licensing check, your add-in will present the same UI and functionality to anonymous users as it does to licensed users.

ライセンスの検証Validate the license

アドインがアドイン ライセンス トークンを受け取った後、アドインは、ライセンスが有効かどうか、および含まれる情報が正確かどうかを判定するために、そのトークンを Office ストア 検証 Web サービスに渡す必要があります。検証サービスは、ライセンスが有効かどうかの結果とライセンスの属性値を返します。次に、アドイン コードは、ライセンスが有効かどうかの結果とライセンス情報に基づいて適切なアクションを実行します。After the add-in receives the add-in license token, the add-in must pass it to the Office Store verification web service to determine that the license is valid and the information it contains is accurate. The verification service returns whether the license is valid and the license attribute values. The add-in code can then take appropriate action, based on whether the license is valid and on the license information.

Office ストア検証サービスは、クライアント側のコードからの呼び出しには対応していません。The Office Store verification service does not support being called from client-side code.

  • Office アドインの場合は、サーバー側のコードを使用して、Office ストア検証 Web サービスを照会する必要があります。For Office Add-ins, you are required to use server-side code to query the Office Store verification web service.
  • SharePoint アドインに関しては、SharePoint でアドイン ページをホストしている場合は、SharePoint Web プロキシを使用して、Office ストア検証 Web サービスへの JavaScript 呼び出しを実行できます。For SharePoint Add-ins, if you are hosting your add-in pages on SharePoint, you can use the SharePoint web proxy to make JavaScript calls to the Office Store verification service. However, for security reasons we strongly recommend that you only use server-side code to query the Office Store verification web service. ただし、セキュリティ上の理由から、Office ストア検証 Web サービスを照会する場合は、サーバー側のコードのみを使用してください。However, for security reasons we strongly recommend that you use only server-side code to query the Office Store verification web service.

ライセンス プロパティに基づいて行う処理Take action based on license properties

最後に、ユーザーのアドイン ライセンスのプロパティに基づいた目的の処理を行うコードをアドインに追加します。その処理には、サブスクリプション状態に基づいて異なる UI の表示、試用版ライセンスでの特定の機能の無効化、またはライセンス プロパティに基づいて行うその他のカスタマイズなどが含まれます。Finally, add code to your add-in that takes the desired action based on the properties of the user's add-in license. This could include displaying different UI based on subscription status, disabling certain functionality for trial licenses, or any other customization you want to make based on the license properties.

アドイン ライセンスのクエリおよび検証のフローについてAdd-in license query and validation flows

Office アドイン ライセンス検証プロセスOffice app license verification process

図 1 は、Office アドインのアドイン ライセンスのクエリと検証プロセスを示しています。The following figure shows the add-in license query and validation process for Office Add-ins.

注意

作業ウィンドウ アドインとコンテンツ アドインは、匿名アクセスを許可します。Task pane and content add-ins allow anonymous access. ユーザーが自分の Microsoft アカウントにサインインしていない場合、アドインのホーム ページを要求する Office アプリケーションでは、ライセンス トークンのパラメーターが追加されません。If the user is not signed in to their Microsoft account, the Office application requesting the add-in home page does not append the license token parameter. 詳細については、「Office アドインのアドイン ライセンス トークンと匿名アクセス」というセクションを参照してください。For details, see Add-in license tokens and anonymous access for Office Add-ins.

図 1. Office アドイン ライセンス検証プロセスFigure 1. Office add-in license verification process

Office アドイン ライセンス検証プロセス

  1. ユーザーがアドインを起動します。The user launches the add-in.
  2. アドインをホストする Office アプリケーションがホーム ページを要求します。The Office application that hosts the add-in requests the home page.
  3. Office アプリケーションが、アドイン ライセンス トークンをクエリ文字列パラメーターとして HTTP 要求に付加します。The Office application appends the add-in license token to the HTTP request as a query string parameter.
  4. アドイン コードがライセンス トークンを抽出してキャッシュします。The add-in code extracts and caches the license token.
  5. アドインでライセンス トークンを検証することが必要になると、アドインはサーバー側のコードを使用してトークンを Office ストア 検証サービスに渡します。When the add-in needs to verify the license token, it uses server-side code to pass the token to the Office Store verification service.
  6. 検証サービスは、ライセンス トークンが有効であるかどうかを返し、有効である場合はライセンス プロパティも返します。The verification service returns whether the license token is valid, and if it is, also returns the license properties.
  7. アドインは、ライセンスとそのプロパティの有効性に基づいて、アクションを実行できます。The add-in can then take action, based on the validity of the license and its properties.

SharePoint アドイン ライセンス検証プロセスSharePoint app license verification process

図 2 は、SharePoint アドインのアドイン ライセンスのクエリおよび検証プロセスを示します。The following figure shows the add-in license query and validation process for SharePoint Add-ins.

図 2. SharePoint アドイン ライセンス検証プロセスFigure 2. SharePoint add-in license verification process

SharePoint アドイン ライセンス検証プロセス

  1. ユーザーが SharePoint 内からアドインを起動します。The user launches the add-in from within SharePoint.
  2. これにより、クラウド内のアドイン コードが起動します。This launches the add-in code in the cloud.
  3. アドインでユーザーのアドイン ライセンスを検証することが必要になると、アドインはサーバー側のコードを使用しクライアント オブジェクト モデルを介して SharePoint にアドイン ライセンス トークンをクエリします。When the add-in needs to verify a user's add-in license, it uses server-side code to query SharePoint, via the client object model, for the add-in license token.
  4. その後、アプリはトークンを Office ストア 検証サービスに渡します。It then passes that token to the Office Store verification service.
  5. 検証サービスは、ライセンス トークンが有効であるかどうかを返し、有効である場合はライセンス プロパティも返します。The verification service returns whether the license token is valid, and if it is, also returns the license properties.
  6. アドインは、ライセンスとそのプロパティの有効性に基づいて、アクションを実行できます。The add-in can then take action, based on the validity of the license and its properties.

関連項目See also