我正在构建一个Add In,除了帐户拥有的联系人列表之外,还应该获取当前项(消息)中使用的联系人(收件人,抄送和密件抄送)。
根据documentation,尽管我的通讯录中有联系人,但以下说明给了我零个联系人,并阅读了带有发件人电子邮件的消息。
var contacts = Office.context.mailbox.item.getEntities().contacts;
可以使用open graph APIs访问此列表,我想知道是否也可以使用Office加载项的Office对象在本地访问该列表
答案 0 :(得分:1)
Office Js不提供API以获取帐户中的联系人列表。 但是您可以使用authentication APIs从Outlook获取身份验证令牌,然后使用此令牌获取Graph令牌与Graph APIs进行交互并获取list of contacts
var gulp = require('gulp');
var babel = require('gulp-babel');
var zip = require('gulp-zip');
var browserify = require('gulp-browserify')
gulp.task('copy-to-dist', function () {
return gulp.src([
'shared/model/user.model.js',
'Lambda/user/GET.user.lambda.js'
])
.pipe(
babel({
"presets": [
["env", {
"targets": {
"node": "8.10"
}
}]
],
plugins: [
'babel-plugin-root-import',
]
})
).pipe(gulp.dest('./dist'))
});
gulp.task('zip', function () {
return gulp.src(['dist/**/*', 'dist/.*'])
.pipe(zip('dist.zip'))
.pipe(gulp.dest('dist-zip/'));
});
gulp.task('build', gulp.series(['copy-to-dist', 'zip']));
答案 1 :(得分:0)
您似乎误解了文档。
引号:
以下示例访问当前项目正文中的联系人实体。
var contacts = Office.context.mailbox.item.getEntities().contacts;
答案 2 :(得分:0)
您可以使用以下链接获取所有联系人:
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);
}
有关更多信息,请参考以下链接: