Table of contents
TOC
目次を折りたたむ
目次を展開する
最終更新日: 2017/11/10

OneNote API によって OneNote コンテンツと構造を取得する

適用対象: OneDrive のコンシューマー ノートブック | Office 365 のエンタープライズ ノートブック

OneNote のコンテンツと構造を取得するには、ターゲット エンドポイントに GET 要求を送信します。たとえば次のようにします。

GET ../notes/pages/{id}

要求が成功すると、OneNote API は 200 HTTP 状態コードと、要求したエンティティまたはコンテンツを返します。OneNote のエンティティは、OData バージョン 4.0 仕様に準拠した JSON オブジェクトとして返されます。

クエリ文字列オプションを使用すると、クエリをフィルターしてパフォーマンスを向上させることができます。

要求 URI の構築

要求 URI を構築するには、サービス ルート URL から開始します。

OneDrive のノートブック
https://www.onenote.com/api/v1.0/me/notes/

OneDrive for Business のノートブック
https://www.onenote.com/api/v1.0/me/notes/
https://www.onenote.com/api/v1.0/users/{id}/notes/

SharePoint サイトのノートブック
https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/

統合グループのノートブック
https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/


次に、取得するリソースのエンドポイントを追加します (リソース パスが次のセクションに表示されます)。


完全な要求 URI は、次に示す例のいずれかのようになります。

https://www.onenote.com/api/v1.0/me/notes/notebooks/{id}/sections

https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/pages

https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/pages?select=title,self

サービス ルート URL について詳しく説明します。

GET 要求のリソース パス

次のリソース パスを使用して、ページ、セクション、セクション グループ、ノートブック、画像、またはファイル リソースを取得します。

ページ コレクション  |  ページ エンティティ  |  ページ プレビュー  |  ページ HTML コンテンツ  |   セクション コレクション  |  セクション エンティティ  |  SectionGroup コレクション  |   SectionGroup エンティティ  |  ノートブック コレクション  |  ノートブック エンティティ  |   画像またはその他のファイル リソース

ページ コレクション

すべてのノートブックのページ (メタデータ) を取得する

../pages[?filter,orderby,select,expand,top,skip,search,count]

特定のセクションからページ (メタデータ) を取得する

../sections/{section-id}/pages[?filter,orderby,select,expand,top,skip,search,count,pagelevel]


searchクエリ文字列オプションは、コンシューマー ノートパソコンでのみ使用できます。

ページの既定の並べ替え順序は lastModifiedTime desc です。

既定のクエリは、親セクションを展開し、セクションの idname、および self プロパティを選択します。

既定では、GET ページ要求に対して上位 20 のエントリのみが返されます。 上位クエリ文字列オプションを指定しない要求を行った場合、次の 20 エントリを取得するために使用できる @odata.nextLink リンクが応答で返されます。

セクションのページ コレクションの場合、pagelevel を使用して、ページのインデント レベルとセクション内でのその順序を返します。 例: GET ../sections/{section-id}/pages?pagelevel=true


ページのエンティティ

特定のページのメタデータを取得する

../pages/{page-id}[?select,expand,pagelevel]


ページは、parentNotebook プロパティと parentSection プロパティを展開できます。

既定のクエリは、親セクションを展開し、セクションの idname、および self プロパティを選択します。

pagelevel を使用して、ページのインデント レベルと親セクション内でのその順序を返します。 例: GET ../pages/{page-id}?pagelevel=true


ページ プレビュー

ページのテキストと画像のプレビュー コンテンツを取得する

../pages/{page-id}/preview


JSON 応答には、ページに含まれているものを特定するために使用できる、プレビュー コンテンツが含まれています。

{
  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#Microsoft.OneNote.Api.PagePreview",
  "previewText":"text-snippet",
  "links":{
    "previewImageUrl":{
      "href":"https://www.onenote.com/api/v1.0/resources/{id}/content?publicAuth=true&mimeType=image/png"
    }
  }
}

previewText プロパティには、ページからのテキスト スニペットが含まれています。 OneNote API は、最大 300 文字の完全な文字列を返します。

ページにプレビュー UI のビルドに使用できる画像が含まれている場合、previewImageUrl オブジェクトの href プロパティには、事前認証されたパブリックの image resource のリンクが含まれます。 このリンクは HTML で使用できます。たとえば、<img src="https://www.onenote.com/api/v1.0/resources/{id}/content?publicAuth=true&mimeType=image/png" /> です。 それ以外の場合、href は、null 値を返します。


ページ HTML コンテンツ

ページの HTML コンテンツを取得する

../pages/{page-id}/content[?includeIDs,preAuthenticated]
      (返される HTML コンテンツの詳細)


includeIDs=true クエリ文字列オプションを使用して、ページを更新するために使用する生成 ID を取得します。

preAuthenticated=true クエリ文字列オプションを使用して、ページ上の画像リソースのパブリック URL を取得します。 パブリック URL は 1 時間有効です。


セクション コレクション

ユーザーが所有するすべてのノートブックから、ネストされたセクション グループのセクションを含む、すべてのセクションを取得する

../sections[?filter,orderby,select,top,skip,expand,count]

特定のセクション グループの直下にあるすべてのセクションを取得する

../sectionGroups/{sectiongroup-id}/sections[?filter,orderby,select,top,skip,expand,count]

特定のノートブックの直下にあるすべてのセクションを取得する

../notebooks/{notebook-id}/sections[?filter,orderby,select,top,skip,expand,count]


セクションは、parentNotebook プロパティと parentSectionGroup プロパティを展開できます。

セクションの既定の並べ替え順序は name asc です。

既定のクエリは、親ノートブックおよび親セクション グループを展開し、idname、および self プロパティを選択します。


セクション エンティティ

特定のセクションを取得する

../sections/{section-id}[?select,expand]


セクションは、parentNotebook プロパティと parentSectionGroup プロパティを展開できます。

既定のクエリは、親ノートブックおよび親セクション グループを展開し、idname、および self プロパティを選択します。


SectionGroup コレクション

ユーザーが所有するすべてのノートブックから、ネストされたセクション グループを含む、すべてのセクション グループを取得する

../sectionGroups[?filter,orderby,select,top,skip,expand,count]

特定のノートブックの直下にあるすべてのセクション グループを取得する

../notebooks/{notebook-id}/sectionGroups[?filter,orderby,select,top,skip,expand,count]


セクション グループは、セクションsectionGroupsparentNotebook、および parentSectionGroup プロパティを展開できます。

セクション グループの既定の並べ替え順序は name asc です。

既定のクエリは、親ノートブックおよび親セクション グループを展開し、idname、および self プロパティを選択します。


SectionGroup エンティティ

特定のセクション グループを取得する

../sectionGroups/{sectiongroup-id}[?select,expand]


セクション グループは、セクションsectionGroupsparentNotebook、および parentSectionGroup プロパティを展開できます。

既定のクエリは、親ノートブックおよび親セクション グループを展開し、idname、および self プロパティを選択します。


ノートブック コレクション

ユーザーによって所有されるすべてのノートブックを取得する

../notebooks[?filter,orderby,select,top,skip,expand,count]


ノートブックは、セクションおよび sectionGroups プロパティを展開できます。

ノートブックの既定の並べ替え順序は name asc です。

classNotebooks エンドポイントを使用して、クラス ノートブックを取得できます。


ノートブック エンティティ

特定のノートブックを取得する

../notebooks/{notebook-id}[?select,expand]


ノートブックは、セクションおよび sectionGroups プロパティを展開できます。

classNotebooks エンドポイントを使用して、クラス ノートブックを取得できます。


画像またはその他のファイル リソース

特定のリソースのバイナリ データを取得する

../resources/{resource-id}/$value


ファイルのリソース URI は、ページの出力 HTML にあります。

たとえば、img タグには、data-fullres-src 属性の元の画像のエンドポイントと、src 属性の最適化された画像のエンドポイントが含まれます。 例:

<img 
    src="https://www.onenote.com/api/v1.0/me/notes/resources/{image-id}/$value"  
    data-src-type="image/png"
    data-fullres-src="https://www.onenote.com/api/v1.0/resources/{image-id}/$value"  
    data-fullres-src-type="image/png" ... />

object タグには、data 属性のファイル リソースのエンドポイントが含まれています。 例:

<object
    data="http://www.onenote.com/api/v1.0/me/notes/resources/{file-id}/$value"
    data-attachment="fileName.pdf" 
    type="application/pdf" ... />

ページにある画像リソースへの事前認証された公開 URL を取得するには、ページのコンテンツを取得する際にクエリ文字列に preAuthenticated=true を含めます (例: GET ../pages/{page-id}/content?preAuthenticated=true)。 出力 HTML に返されるパブリック URL は 1 時間有効です。 このフラグを設定していない場合、取得された画像は非公開で、またページのコンテンツの残りの部分と同様、それらを取得するために承認を必要とするため、ブラウザーで直接レンダリングすることはありません。

リソースのコレクションの取得はサポートされていません。

ファイル リソースを取得する場合、Accept コンテンツ タイプを要求に含める必要はありません。

GET 要求の詳細については、OneNote API 対話型 REST リファレンスの GET PagesGET SectionsGET SectionGroups、および GET Notebooks を参照してください。

GET 要求の例

OneNote のエンティティおよび検索ページ コンテンツを照会して、必要な情報だけを取得することができます。 次の例は、OneNote API への GET 要求で、サポートされているクエリ文字列オプションを使用するいくつかの方法を示しています。

次の点に注意してください。

  • GET 要求はすべて、サービス ルート URL で始まります。
      例: https://www.onenote.com/api/v1.0/me/notes
                      https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/

  • URL クエリ文字列のスペースには %20 エンコードを使用する必要があります。
      例: filter=title%20eq%20'biology'

  • プロパティ名と OData 文字列比較では大文字と小文字が区別されます。 文字列比較には OData tolower 関数を使用することをお勧めします。
      例: filter=tolower(name) eq 'spring'

search & filter

特定のアプリによって作成された、recipe という用語が含まれるページすべてを取得します (search は、コンシューマー ノートパソコンでのみ使用可能)。

[GET] ../pages?search=recipe&filter=createdByAppId eq 'WLID-000000004C12821A'

search & select

golgi app という用語が含まれるすべてのページの、タイトル、OneNote クライアントのリンク、および contentUrl リンクを取得します (search は、コンシューマー ノートパソコンでのみ使用可能)。

[GET] ../pages?search=golgi app&select=title,links,contentUrl

expand

すべてのノートブックを取得し、そのセクションとセクション グループを展開します。

[GET] ../notebooks?expand=sections,sectionGroups

特定のセクション グループを取得し、そのセクションとセクション グループを展開します。

[GET] ../sectionGroups/{sectiongroup-id}?expand=sections,sectionGroups

ページを取得し、その親セクションと親ノートブックを展開します。

[GET] ../pages/{page-id}?expand=parentSection,parentNotebook

expand (複数レベル)

すべてのノートブックを取得してセクションとセクション グループを展開し、各セクション グループのすべてのセクションを展開します。

[GET] ../notebooks?expand=sections,sectionGroups(expand=sections)

子エンティティの親を展開、または親エンティティの子を展開すると、循環参照が作成されますが、これはサポートされていません。

expand & select (複数レベル)

特定のセクション グループの名前と self リンクを取得し、そのすべてのセクションの名前と self リンクを取得します。

[GET] ../sectionGroups/{sectiongroup-id}?expand=sections(select=name,self)&select=name,self

すべてのセクションの名前と self リンクを取得し、各セクションの親ノートブックの名前と作成時刻を取得します。

[GET] ../sections?expand=parentNotebook(select=name,createdTime)&select=name,self

すべてのページのタイトルと ID を取得し、親セクションと親ノートブックの名前を取得します。

[GET] ../pages?select=id,title&expand=parentSection(select=name),parentNotebook(select=name)

expand & levels (複数レベル)

すべてのノートブック、セクション、セクション グループを取得します。

[GET] ../notebooks?expand=sections,sectionGroups(expand=sections,sectionGroups(levels=max;expand=sections))

filter

2014 年 10 月に作成されたセクションすべてを取得します。

[GET] ../sections?filter=createdTime ge 2014-10-01 and createdTime le 2014-10-31

2015 年 1 月 1 日以降に特定のアプリによって作成されたページを取得します。

[GET] ../pages?filter=createdByAppId eq 'WLID-0000000048118631' and createdTime ge 2015-01-01

filter & expand

特定のノートブックに含まれるすべてのページを取得します。既定では、この API は20 エントリを戻します。

[GET] ../pages?filter=parentNotebook/id eq '{notebook-id}'&expand=parentNotebook

学校のノートブックにあるすべてのセクションの名前と pagesUrl リンクを取得します。 OData の文字列比較は大文字小文字が区別されるので、ベスト プラクティスとして tolower 関数を使用します。

[GET] ../notebooks?filter=tolower(name) eq 'school'&expand=sections(select=name,pagesUrl)

filter & select & orderby

セクション名に spring という語が含まれるすべてのセクションの名前と pagesUrl リンクを取得します。 セクションを最終変更日で並べ替えます。

[GET] ../sections?filter=contains(tolower(name),'spring')&select=name,pagesUrl&orderby=lastModifiedTime desc

orderby

createdByAppId プロパティ、次に作成時刻を基準に順序を並べ替えて、最初の 20 ページを取得します。 既定では、この API は 20 エントリを戻します。

[GET] ../pages?orderby=createdByAppId,createdTime desc

search & filter & top

cell division という語句を含む、2015 年 1 月 1 日以降に作成されたページで新しいものを 5 つ取得します。 既定ではこの API は 20 エントリを返します。最大では 100 エントリを返します。 ページの既定の並べ替え順序は lastModifiedTime desc です (search は、コンシューマー ノートパソコンでのみ使用可能)。

[GET] ../pages?search="cell division"&filter=createdTime ge 2015-01-01&top=5

search & filter & top & skip

結果セットの次の 5 ページを取得します。 (search は、コンシューマー ノートパソコンでのみ使用可能)。

[GET] ../pages?search=biology&filter=createdTime ge 2015-01-01&top=5&skip=5

さらに次の 5 つを取得します (search は、コンシューマー ノートパソコンでのみ使用可能)。

[GET] ../pages?search=biology&filter=createdTime ge 2015-01-01&top=5&skip=10

searchfilter がどちらも同じ要求に適用される場合、結果には両方の条件に一致するエンティティのみが含まれます。

select

ユーザーのノートブック内にあるすべてのセクションの名前、作成時刻、self リンクを取得します。

[GET] ../sections?select=name,createdTime,self

特定のページのタイトル、作成時刻、OneNote クライアント リンクを取得します。

[GET] ../pages/{page-id}?select=title,createdTime,links

select & expand & filter (複数レベル)

ユーザーの既定ノートブックにあるすべてのセクションの名前と pagesUrl リンクを取得します。

[GET] ../notebooks?select=name&expand=sections(select=name,pagesUrl)&filter=isDefault eq true

top & select & orderby

最初の 50 ページのタイトルと self リンクを取得します。タイトルのアルファベット順に並べられます。 既定ではこの API は 20 エントリを返します。最大では 100 エントリを返します。 ページの既定の並べ替え順序は lastModifiedTime desc です。

[GET] ../pages?top=50&select=title,self&orderby=title

skip & top & select & orderby

51 ~ 100 ページを取得します。既定ではこの API は 20 エントリを返します。最大では 100 エントリを返します。

[GET] ../pages?skip=50&top=50&select=title,self&orderby=title

既定のエントリ数を取得する pages に対する GET 要求 (つまり、top 式を指定しない要求) は、応答で次の 20 エントリを取得するために使用できる @odata.nextLink リンクを戻します。

サポートされている OData クエリ文字列オプション

GET 要求を OneNote API に送信する場合、OData クエリ文字列オプションを使用してクエリをカスタマイズし、必要な情報だけを取得できます。また、サービスに対する呼び出し数と応答ペイロードのサイズを減らすことによって、パフォーマンスを向上できます。

この記事の例では読みやすくするために、URL クエリ文字列内のスペースで必要な %20 パーセント エンコードを使用していません: filter=isDefault%20eq%20true

クエリ オプション例と説明
count

count=true

コレクション内のエンティティのカウントです。 この値は、応答の @odata.count プロパティで戻ります。

expand

expand=sections,sectionGroups

応答でインラインを返すナビゲーション プロパティ。 expand 式には次のプロパティがサポートされています。
- ページ: parentNotebookparentSection
- セクション: parentNotebookparentSectionGroup
- セクション グループ: sectionssectionGroupsparentNotebookparentSectionGroup
- ノートブック: sectionssectionGroups

既定では、ページの GET 要求は parentSection を展開し、セクションの idnameself プロパティを選択します。 セクションおよびセクション グループの既定の GET 要求では、parentNotebookparentSectionGroup の両方を展開し、親の idnameself プロパティを選択します。

1 つのエンティティまたはコレクションに使用できます。コンマを使用して複数のプロパティを区切ります。プロパティ名では、大文字と小文字を区別します。

filter

filter=isDefault eq true

結果セットの入力に含めるかどうかを決めるブール式。サポートされている OData 演算子と関数:
- 比較演算子: eqnegtgeltle
- 論理演算子: andornot
- 文字列関数: containsendswithstartswithlengthindexofsubstringtolowertouppertrimconcat

プロパティ名と OData 文字列比較では大文字と小文字が区別されます。 文字列比較には OData tolower 関数を使用することをお勧めします。 例: filter=tolower(name) eq 'spring'

orderby

orderby=title,createdTime desc

オプションの asc (既定) または desc 並べ替え順序で並べ替えるプロパティ。 要求対象コレクション内のエンティティの任意のプロパティで並べ替えが可能です。

ノートブック、セクション グループ、セクションの既定の並べ替え順序は name asc で、ページの場合には lastModifiedTime desc (最新の変更ページが先頭になります)。

複数のプロパティはコンマで区切り、任意の順序で一覧表示します。プロパティ名では、大文字と小文字を区別します。

search

search=cell div

コンシューマー ノートパソコンでのみ使用可能。

ページ タイトル、ページ本文、画像の代替テキスト、画像の OCR テキストで検索する用語または語句です。既定では、検索クエリは関連度で並べ替えて結果を返します。

OneNote は、Bing のフルテキスト検索を使用して、語句の検索、語形変化、スペルの曖昧さ、関連性とランキング、単語分割、複数の言語、他のフルテキスト検索機能をサポートします。検索文字列では、大文字と小文字が区別されます。

ユーザーが所有しているノートブック内のページにのみ適用されます (ユーザーとは共有されません)。 インデックス付けされたコンテンツは非公開であり、所有者のみがアクセスできます。 パスワードで保護されたページにはインデックスは付けられません。 pages エンドポイントにのみ適用されます。

select

select=id,title

返すプロパティ。 1 つのエンティティまたはコレクションに使用できます。 コンマを使用して複数のプロパティを区切ります。 プロパティ名では、大文字と小文字を区別します。

skip

skip=10

結果セットでスキップするエントリの数。通常、結果のページングに使用されます。

top

top=50

結果セット内で返すエントリ数で、最大数は 100 です。既定値は 20 です。

OneNote にも、親セクション内でページのレベルと順序を取得する pagelevel クエリ文字列オプションが用意されています。 特定のセクションのページのクエリ、または特定のページのクエリのにのみ適用されます。 たとえば次のようにします。

GET ../sections/{section-id}/pages?pagelevel=true

GET ../pages/{page-id}?pagelevel=true

サポートされている OData 演算子と関数

OneNote API は、フィルター式で次の OData 演算子および関数をサポートしています。 OData 式を使用する場合には、次の点に注意してください。

  • URL クエリ文字列のスペースは %20 エンコードで置換する必要があります。
      例: filter=isDefault%20eq%20true
  • プロパティ名と OData 文字列比較では大文字と小文字が区別されます。 文字列比較には OData tolower 関数を使用することをお勧めします。
      例: filter=tolower(name) eq 'spring'
比較演算子
eq
(等しい)
createdByAppId eq '{app-id}'
ne
(等しくない)
userRole ne 'Owner'
gt
(より大きい)
createdTime gt 2014-02-23
ge
(以上)
lastModifiedTime ge 2014-05-05T07:00:00Z
lt
(より小さい)
createdTime lt 2014-02-23
le
(以下)
lastModifiedTime le 2014-02-23
論理演算子
andcreatedTime le 2014-01-30 and createdTime gt 2014-01-23
orcreatedByAppId eq '{app-id}' or createdByAppId eq '{app-id}'
notnot contains(tolower(title),'school')
String 関数
containscontains(tolower(title),'spring')
endswithendswith(tolower(title),'spring')
startswithstartswith(tolower(title),'spring')
lengthlength(title) eq 19
indexofindexof(tolower(title),'spring') eq 1
substringsubstring(tolower(title),1) eq 'spring'
tolowertolower(title) eq 'spring'
touppertoupper(title) eq 'SPRING'
trimtrim(tolower(title)) eq 'spring'
concatconcat(title,'- by MyRecipesApp') eq 'Carrot Cake Recipe - by MyRecipesApp'

ページ、セクション、セクション グループ、ノートブックのプロパティ

filterselectexpand、および orderby クエリ式には、 OneNote エンティティのプロパティを含めることができます。 たとえば次のようにします。

../sections?filter=createdTime ge 2015-01-01&select=name,pagesUrl&orderby=lastModifiedTime desc

クエリ式のプロパティ名は大文字小文字を区別します。

プロパティおよびプロパティの種類のリストについては、次をご覧ください。

expand クエリ文字列オプションは、以下のナビゲーション プロパティとともに使用できます。

  • ページ: parentNotebookparentSection
  • セクション: parentNotebookparentSectionGroup
  • セクション グループ: sectionssectionGroupsparentNotebookparentSectionGroup
  • ノートブック: sectionssectionGroups

要求および GET 要求の応答に関する情報

要求データ説明
プロトコルすべての要求は SSL/TLS HTTPS プロトコルを使用します。
承認ヘッダー

Bearer {token}{token} は、登録済みアプリの有効な OAuth 2.0 アクセス トークンになります。

これがないか、無効の場合、要求は失敗し、401 ステータス コードが表示されます。 「認証とアクセス許可」を参照してください。

Accept ヘッダー

- OneNote エンティティとエンティティ セットの application/json

- ページ コンテンツの text/html

応答データ説明
成功コード200 HTTP ステータス コード。
応答本文JSON 形式のエンティティまたはエンティティ セット、ページ HTML、またはファイル リソースのバイナリ データの OData 表現。
エラー要求が失敗すると、API は応答本文の @api.diagnostics オブジェクトにエラーを返します。
X-CorrelationId ヘッダー要求を一意に識別する GUID。Microsoft サポートと問題のトラブルシューティングを行う際に、この値を Date ヘッダーの値とともに使用できます。

OneNote サービスのルート URL の構築

OneNote サービスのルート URL は、OneNote API へのすべての呼び出しで次の形式を使用します。

https://www.onenote.com/api/{version}/{location}/notes/


URL の version セグメントは、使用する OneNote API のバージョンを示しています。

  • 安定した運用コードには v1.0 を使用します。
  • 開発中の機能を試すには beta を使用します。 ベータ版の機能は変更される可能性があるため、運用コードでは使用しないでください。


URL の location セグメントは、アクセスするノートブックの場所を示しています。

OneDrive のノートブック (コンシューマー)
現在のユーザーがアクセスできる OneNote コンテンツには me を使用します (所有と共有)。

OneDrive for Business のノートブック
現在のユーザーが所有する OneNote コンテンツには me を使用します。

指定されたユーザー (URL 内) が現在のユーザーと共有している OneNote コンテンツには users/{id} を使用します。 ユーザー ID を取得するには Azure AD Graph API を使用します。

SharePoint サイトのノートブック
チーム サイトとその他の SharePoint サイトには、ドキュメント ライブラリ内の OneNote ノートブックを含めることができます。

現在のユーザーがサインインしているテナント内のサイトの OneNote コンテンツには myOrganization/siteCollections/{id}/sites/{id} を使用します。 現在のテナントのみがサポートされており、myOrganization キーワードを使ってアクセスします。 サイト ID を取得する方法を説明します。

Office 365 グループ ノートブック
Office 365 グループは Office 365 Connected Experience の一部です。 グループ メンバーは、ノートブック、ファイル、メールを共有できます。

現在のユーザーがメンバーになっている指定のグループの OneNote コンテンツには myOrganization/groups/{id} を使用します。 サポートされるグループの種類は、(unified groupType を返す) Office 365 グループのみです。 グループ ID を取得するには Azure AD Graph API を使用します。


サイト コレクションとサイト ID を取得するには FromUrl メソッドを使用します

指定されたサイトの絶対 URL のサイト コレクションとサイト ID を取得するには FromUrl メソッドを使用できます。 必要な場合にのみこの呼び出しを行ってから、今後使用するために値を保存する必要があります。

サイト URL の形式は、例えば https://domain.sharepoint.com/site-ahttps://domain.com/sites/site-aなど、構成に依存します。

要求の例:

GET https://www.onenote.com/api/v1.0/myOrganization/siteCollections/FromUrl(url='{full-path-to-SharePoint-site}')
Authorization: Bearer {token}
Accept: application/json

応答の例:

{
  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#Microsoft.OneNote.Api.SiteMetadata",
  "siteCollectionId":"09d1a587-a84b-4264-3d15-669429be8cc5",
  "siteId":"d9e4d5c8-683f-4363-89ae-18c4e3da91e9"
}

FromUrl を使って、SharePoint サイトのノートブックを操作するための要件:

  • OneNote のノートブック、セクション グループ、セクション、ページを作成できるのは、既定のドキュメント ライブラリのサイト上のみです (一部のサイト テンプレートは、既定のドキュメント ライブラリを作成しません)。ただし、GET 要求は、サイト上のすべてのドキュメント ライブラリから OneNote コンテンツを返します。
  • OneNote サービス ルート URL は変更できません。つまり、SharePoint REST API サイト パスを使用して、そこに notes エンドポイントを追加することはできません。
  • 呼び出し元であるユーザーは、サイトのメンバーである必要があります。
  • FromUrl は、インデックス付けされたサイトでのみ機能します。 新しいサイトにインデックスを付けるには、数時間かかることがあります。

GET 要求のアクセス許可

OneNote のコンテンツまたは構造を取得するには、適切なアクセス許可を要求する必要があります。

次のスコープは、OneNote API に対する GET 要求を許可します。アプリの動作に必要な最低限のアクセス許可を選択してください。

プラットフォームアクセス許可の適用範囲
コンシューマーoffice.onenote, office.onenote_update_by_app, office.onenote_update
エンタープライズNotes.Read, Notes.ReadWrite.CreatedByApp, Notes.ReadWrite, Notes.ReadWrite.All

アクセス許可のスコープと動作のしくみの詳細については、「OneNote のアクセス許可のスコープ」を参照してください。

その他のリソース

© 2018 Microsoft