2017-03-20 7 views
0

私はMicrosoft Graph C# SDKに対してコーディングしており、Packageファセットのストリームを返すようにしています。具体的には、OneNoteのストリームを返したいと思います。Microsoft Graph C#SDK - OneNoteのストリームを返す方法

docs:Package Facetを読んだ後。 Packageはフォルダと見なすことができます。私の質問は、誰かが.Content()のOneNoteファイルを使用してストリームをダウンロードする方法です。

答えて

1

このシナリオはサポートされていないようです。現在の.Net Graphクライアントライブラリを使用してノートブックのメタデータ(最初のGetAsync呼び出し)を取得できますが、404でコンテンツを取得するための2回目のGetAsync呼び出しがあります。これにより、OneNoteとやりとりする予定の方法はベータエンドポイントにあるOneNote API。この時点では、ベータエンドポイントに新機能のクライアントライブラリはありません。したがって、.Netクライアントライブラリの外で呼び出しを行う必要があります。

// Get the OneNote notebook identifier here. 
var driveItems = await graphClient.Me.Drive.Root.ItemWithPath("Notebooks").Children.Request().GetAsync(); 

foreach (var item in driveItems) 
{ 
    // Let's download the first file we get in the response. 
    if (item.Package.Type == "oneNote") 
    { 
     // Fail 404, response body error is UnknownError. 
     var driveItemContent = await graphClient.Me.Drive.Items[item.Id].Content.Request().GetAsync(); 
     return; 
    } 
} 

あなたはget the OneNote notebookに以下を使用したいと思う:あなたはセクションとページにドリルダウンできるように、あなたのノートブックにあなたを取得する必要があります

GET /me/notes/notebooks/{notebookidentifier} 

。このAPIはまだベータ版であり、変更が行われる可能性があります。

+0

ご返信ありがとうございます。私はフォローアップの質問を受けました: トップレベルのアクセスパッケージをダウンロードしようとしたときに同じ '404エラー 'が表示されます。 ** OneNote **パッケージから子供を取得すると、私は '子供たち 'をダウンロードすることができます。子供たちをダウンロードした後、** OneNote **を構成するファイルを見ることができ、** OneNote **をローカルで開くことができます。私の質問は、** OneNote API **では、** OneNote NoteBook **全体をダウンロードすることができますか? – jdave

+0

興味深い。ありがとう、あなたは何か教えてくれました。私は一通の通話でノートブック全体をダウンロードできることに関する文書は見ていません。機能要求は、https://officespdev.uservoice.com/に投稿できます。ここからリンクしてください。 –

+0

'OneDrive for Business'が、アプリケーション専用認証でファイルの' Stream'を返す機能をサポートするようになったことは知っていますか? – jdave

関連する問題