2017-05-23 20 views
1

My question is just opposite to scenario asked hereOffice/Graph APIで設定したOutlookアドイン(js)でSingleValueExtendedPropertiesを取得しますか?

グラフAPIで設定されたSingleValueExtendedPropertiesをフェッチして、Officeアドインで同じプロパティを取得する方法。

セット:読む

var requestBody = new HttpRequestMessage(action, requestUrl) { Content = new StringContent("{'SingleValueExtendedProperties': [{'PropertyId':'String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color','Value':'Green'}]}", Encoding.UTF8, "application/json") };

以下のようなコードの何か:私は、プロパティ値を取得するために、すべての組み合わせを使用しますが、未定義の結果

const item = Office.context.mailbox.item; 
    item.loadCustomPropertiesAsync((result) => { 
     const props = result.value; 
     const testProp = props.get("Color"); 
     console.log("Color", testProp); 
    }); 

を得ることは誰もがオフィスでプロパティ値を取得し、私を助けてもらえてみました365アドイン。

答えて

1

作成したプロパティがMail App形式と互換性がないため、プロパティを読み取ることができません。具体的には、https://msdn.microsoft.com/en-us/library/hh968549(v=exchg.80).aspxに記載されています(基本的にはプロパティ自体にアプリのClientIdが含まれていますloadCustomPropertiesAsyncを呼び出すと、どのプロパティを取得するかがわかります)。 Graph APIで使用したメソッドは、通常の名前付きプロパティhttps://msdn.microsoft.com/en-us/library/office/ff960427.aspxを作成したばかりです。 Mailアプリケーションでこのプロパティを取得できますが、EWSのみを使用して(たとえば、アプリケーションにReadItem権限が必要です)、makeEwsRequestAsyncを使用してGetItemリクエストを作成します。あるいは、Graph APIが、MailAppがloadCustomPropertiesAsyncで読み込む形式でプロパティを記述できるようにする必要があります(これは、ドキュメントに従う場合は、複数のプロパティを記述する必要があります)。

追加

あなたは

"SingleValueExtendedProperties": [ 
 
{ 
 
"PropertyId":"String 00020329-0000-0000-C000-000000000046 Name cecp-propertyNames", 
 
"Value":"cecp-51248e59-f341-4b4a-a81a-a418f8d3b179;" 
 
} 
 
,{ 
 
"PropertyId":"String 00020329-0000-0000-C000-000000000046 Name cecp-51248e59-f341-4b4a-a81a-a418f8d3b179", 
 
"Value":"{\"mail_note\":\"Whats the point\"}" 
 
} 
 
] 
 
}

を使用するプロパティを設定している他のメールアプリは存在していないメッセージにグラフAPIを使用してプロパティを設定する場合

この例のGuid 51248e59-f341-4b4a-a81a-a418f8d3b179は、MailAppsマニフェストファイルのUUIDと一致する必要があります。例えば、

<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" 
 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 
     xsi:type="MailApp"> 
 
    <!-- Id is a unique UUID for the mail app --> 
 
    <Id>51248e59-f341-4b4a-a81a-a418f8d3b179</Id>

他のメールアプリは、メッセージのプロパティを設定しているなら、あなたはそのプロパティ値にあなたのMailApp UUIDを追加する最初のプロパティを変更する必要があります。あなたは

「CECP-51248e59-f341-4b4a-a81a-a418f8d3b179のようにプロパティを変更するだろう、上記のように例えばメールアプリのUUIDがすでに値を81a51297-e77e-4fae-a07f-af546013aeacとメッセージを持っていた場合は、CECP -81a51297-e77e-4fae-a07f-af546013aeac;

+0

ありがとうございます! @Glen、これは私がアドインで小道具の価値を読むことができるのですか?それをグラフAPIに正しく書くにはもっと努力が必要でしょうか?可能であれば、どのように詳細を教えてください? –

+0

上記追加編集をご覧ください –

+0

多くのThanks @Glen。私はこれを試してみましょう、あなたの返信は有望に見えます.. –

関連する問題