2017-03-17 17 views
0

SharePoint OnlineでホストされるカスタムPowerPoint Officeアドインを使用しています。 JavaScript APIを使用して、現在のスライドIDなどのデッキに関する情報を取得しています。OfficeアドインからSharePoint O365ドキュメントIDを取得する方法

Office.initialize = function (reason) { 
    $(document).ready(function() { 
    Office.context.document.addHandlerAsync('documentSelectionChanged', onDocumentSelectionChanged); 
     onDocumentSelectionChanged(); 
    }); 
}; 

function onDocumentSelectionChanged() { 
    Office.context.document.getSelectedDataAsync(Office.CoercionType.SlideRange, 
    function (result) { 
     if (result.status === Office.AsyncResultStatus.Succeeded) { 
     var slideId = result.value.slides[0].id; 
     } 
    }); 
} 

現在のSharePointドキュメントのID(guid)を取得するためのAPIが見つかりません。これはOffice APIの一部ですか、それとも別の方法でIDを取得できますか?

答えて

1

SourceDocクエリ文字列プロパティから取得できませんか?

以前は、必須のトークンパラメータとしてSourceDocをアドインに渡すことができました。今度はwindow.nameにjson文字列として移動しました。そのため、JSON.parse(window.name).xdmInfoとURLをクリーンアップするための少し余分な文字列操作が必要になります。 Sharepoint内に共有ポイントのURLとドキュメントのGUIDが含まれています

+0

アドインはメインウィンドウとは別のドメインのiframeにレンダリングされるため、アドレスバーのURLを読み取ることはできません。 – Jared

+1

必要なトークンパラメータとしてSourceDocをアドインに渡すことができました。今度はwindow.nameにjson文字列として移動しました。そのため、JSON.parse(window.name).xdmInfoとURLをクリーンアップするための少し余分な文字列操作が必要になります。これには、sharepoint内のドキュメントのsharepoint URLとGUIDが含まれます。 – Maarten

+0

うわー、ありがとう!私はそれを受け入れることができるようにこれを回答として追加してください。私の最初の検索では、この "フィーチャー"のドキュメントは表示されませんが、私は探し続けます。そして、私はこれをちょっときれいにしますが、このスニペットは私にドキュメントIDを与えます: 'JSON.parse(window.name).xdmInfo.split( '|')[2] .match(/ [a-z0-9 ] {32} /) ' – Jared

関連する問題