Phi*_*lar 4 php exchangewebservices
我正忙着编写一些代码,通过PHPEWS更新Microsoft Exchange服务器上的物理地址;
但对于我的生活,我无法弄清楚如何更新物理地址,我可以更新除此之外的所有其他内容.
这是我的代码.
// Update Physical Address.
$field = new EWSType_SetItemFieldType();
$field->IndexedFieldURI->FieldURI = 'contacts:PhysicalAddress:Street';
$field->IndexedFieldURI->FieldIndex = EWSType_PhysicalAddressKeyType::HOME;
$field->Contact = new EWSType_ContactItemType();
$field->Contact->PhysicalAddress = new EWSType_PhysicalAddressDictionaryType();
$address = new EWSType_PhysicalAddressDictionaryEntryType();
$address->Key = EWSType_PhysicalAddressKeyType::HOME;
$address->_ = $street;
$field->Contact->PhysicalAddresses->Entry = $address;
$change->Updates->SetItemField[] = $field;
Run Code Online (Sandbox Code Playgroud)
我一直收到以下错误
Array ( [0] => stdClass Object ( [MessageText] => An object within a change description must contain one and only one property to modify. [ResponseCode] => ErrorIncorrectUpdatePropertyCount [DescriptiveLinkKey] => 0 [ResponseClass] => Error [Items] => stdClass Object ( ) ) )
Run Code Online (Sandbox Code Playgroud)
希望有人能提供帮助
经过几个小时的反复试验,我终于自己解决了问题.
这是代码,
// Update Physical Address.
$field = new EWSType_SetItemFieldType();
$field->IndexedFieldURI->FieldURI = 'contacts:PhysicalAddress:Street';
$field->IndexedFieldURI->FieldIndex = EWSType_PhysicalAddressKeyType::HOME;
$field->Contact = new EWSType_ContactItemType();
$field->Contact->PhysicalAddresses = new EWSType_PhysicalAddressDictionaryType();
$address = new EWSType_PhysicalAddressDictionaryEntryType();
$address->Key = EWSType_PhysicalAddressKeyType::HOME;
$field->Contact->PhysicalAddresses->Entry = $address;
$field->Contact->PhysicalAddresses->Entry->Street = $street;
$change->Updates->SetItemField[] = $field;
Run Code Online (Sandbox Code Playgroud)
基本上你设置你的FieldURI和现场指数(一个必须记住,在更新时,你可以一次只更新一个项目),你会看到FieldURI设置为"联系人:PhysicalAddress:街"这是因为你只能在更新一个项目一时间
接下来我们创建Contact标签,然后创建PhysicalAddresses标签,然后创建Entry标签,并为其提供Home of Key,最后我们设置Street标签.
它创建的实际XML看起来像这样.
<t:SetItemField>
<t:IndexedFieldURI FieldURI="contacts:PhysicalAddress:CountryOrRegion" FieldIndex="Business" />
<t:Contact>
<t:PhysicalAddresses>
<t:Entry Key="Business">
<t:CountryOrRegion>
</t:CountryOrRegion>
</t:Entry>
</t:PhysicalAddresses>
</t:Contact>
</t:SetItemField>
Run Code Online (Sandbox Code Playgroud)
和多数民众赞成它,然后它会更新街address.All你需要的是放置在一个循环的代码现在要做的,使用开关,看你想要的地址的一部分更新和鲍勃你叔叔.
哦,希望这有助于某人.
| 归档时间: |
|
| 查看次数: |
893 次 |
| 最近记录: |