是否可以使用 Office 加载项以编程方式访问 outlook 中的联系人列表
Is it possible to programmatic-ally access the list of contacts in outlook using Office Add In
我正在构建一个加载项,除了帐户拥有的联系人列表之外,还应该抓取当前项目(消息)中使用的联系人(收件人、发件人、抄送和密件抄送)。
根据 documentation,尽管我在通讯录中有联系人,并且正在阅读带有发件人电子邮件的消息,但以下说明给了我零个联系人。
var contacts = Office.context.mailbox.item.getEntities().contacts;
我需要获取我在帐户中管理的联系人列表:
此列表可通过 open graph APIs 访问,我想知道它是否也可通过 Office 加载项的 Office 对象在本地访问
看来您误解了文档。
引述:
以下示例访问当前项目正文中的联系人实体。
var contacts = Office.context.mailbox.item.getEntities().contacts;
您可以使用以下 link:
获取所有联系人
Microsoft.Office.Interop.Outlook.Items OutlookItems;
Microsoft.Office.Interop.Outlook.Application outlookObj = new Microsoft.Office.Interop.Outlook.Application();
MAPIFolder Folder_Contacts;
Folder_Contacts = (MAPIFolder)outlookObj.Session.GetDefaultFolder(OlDefaultFolders.olFolderContacts);
OutlookItems = Folder_Contacts.Items;
MessageBox.Show("Wykryto kontaktów: " + OutlookItems.Count.ToString());
for (int i = 0; i < OutlookItems.Count; i++)
{
Microsoft.Office.Interop.Outlook.ContactItem contact = (Microsoft.Office.Interop.Outlook.ContactItem)OutlookItems[i+1];
sNazwa = contact.FullName;
sFirma = contact.CompanyName;
sAdress = contact.BusinessAddressStreet;
sMiejscowosc = contact.BusinessAddressPostalCode + " " + contact.BusinessAddressCity;
sEmail = contact.Email1Address;
dataGridView1.Rows.Add(sNazwa, sFirma, sAdress, sMiejscowosc, sEmail);
}
更多内容请参考下面link:
Get Outlook contacts into C# form-based application
Office Js 不提供API 来获取帐户中的联系人列表。
但是您可以使用 authentication APIs, then use this token to acquire Graph token to interact with Graph APIs and get the list of contacts
从 Outlook 获取授权令牌
Office.context.auth.getAccessTokenAsync(function (result) {
if (result.status === "succeeded") {
// Use this token to call Web API
var ssoToken = result.value;
// Now send this token to your server and acquire a Graph token
// Server can talk to Graph APIs and get contacts to display
} else {
// Handle error
}
});
我正在构建一个加载项,除了帐户拥有的联系人列表之外,还应该抓取当前项目(消息)中使用的联系人(收件人、发件人、抄送和密件抄送)。
根据 documentation,尽管我在通讯录中有联系人,并且正在阅读带有发件人电子邮件的消息,但以下说明给了我零个联系人。
var contacts = Office.context.mailbox.item.getEntities().contacts;
我需要获取我在帐户中管理的联系人列表:
此列表可通过 open graph APIs 访问,我想知道它是否也可通过 Office 加载项的 Office 对象在本地访问
看来您误解了文档。
引述:
以下示例访问当前项目正文中的联系人实体。
var contacts = Office.context.mailbox.item.getEntities().contacts;
您可以使用以下 link:
获取所有联系人Microsoft.Office.Interop.Outlook.Items OutlookItems;
Microsoft.Office.Interop.Outlook.Application outlookObj = new Microsoft.Office.Interop.Outlook.Application();
MAPIFolder Folder_Contacts;
Folder_Contacts = (MAPIFolder)outlookObj.Session.GetDefaultFolder(OlDefaultFolders.olFolderContacts);
OutlookItems = Folder_Contacts.Items;
MessageBox.Show("Wykryto kontaktów: " + OutlookItems.Count.ToString());
for (int i = 0; i < OutlookItems.Count; i++)
{
Microsoft.Office.Interop.Outlook.ContactItem contact = (Microsoft.Office.Interop.Outlook.ContactItem)OutlookItems[i+1];
sNazwa = contact.FullName;
sFirma = contact.CompanyName;
sAdress = contact.BusinessAddressStreet;
sMiejscowosc = contact.BusinessAddressPostalCode + " " + contact.BusinessAddressCity;
sEmail = contact.Email1Address;
dataGridView1.Rows.Add(sNazwa, sFirma, sAdress, sMiejscowosc, sEmail);
}
更多内容请参考下面link:
Get Outlook contacts into C# form-based application
Office Js 不提供API 来获取帐户中的联系人列表。 但是您可以使用 authentication APIs, then use this token to acquire Graph token to interact with Graph APIs and get the list of contacts
从 Outlook 获取授权令牌Office.context.auth.getAccessTokenAsync(function (result) {
if (result.status === "succeeded") {
// Use this token to call Web API
var ssoToken = result.value;
// Now send this token to your server and acquire a Graph token
// Server can talk to Graph APIs and get contacts to display
} else {
// Handle error
}
});