Как получить тот же lastModifiedDateTime при создании / сохранении контактов в outlook contacts через API Microsoft Graph - PullRequest
0 голосов
/ 12 февраля 2020

При создании / обновлении контакта через API Microsoft Graph - я получаю lastModifiedDateTime в ответ и сохраняю его в базу данных, но когда я выбираю все контакты через Microsoft Graph Graph Explorer, я вижу тот же lastModifiedDateTime для того же контакта отличаются на 2 se c или более se c.

Пример:

$contacts = $graph->createRequest('POST','/me/contacts')
    ->attachBody($con)
    ->setReturnType(Model\Contact::class)
    ->execute();

Ответ:

Array(
[olContactId] => AAMkADVmMTRhZGJjLTA0M2QtNGQzNC05MTc3LWYyY2U5NzMyOTg1MQBGAAAAAACHIssaHsI3TKs7eI4Gh3QABwC7sB1Db4_xRaYWdzPkFNNLAAAAAAEOAAC7sB1Db4_xRaYWdzPkFNNLAADcWQhkAAA=
[olLastModDateTime] => 2020-02-12T12:14:54Z)

при получении того же контакта с помощью графографа:

"id":"AAMkADVmMTRhZGJjLTA0M2QtNGQzNC05MTc3LWYyY2U5NzMyOTg1MQBGAAAAAACHIssaHsI3TKs7eI4Gh3QABwC7sB1Db4_xRaYWdzPkFNNLAAAAAAEOAAC7sB1Db4_xRaYWdzPkFNNLAADcWQhkAAA=", "lastModifiedDateTime":"2020-02-12T12:14:55Z",

пожалуйста, помогите друзьям

1 Ответ

0 голосов
/ 12 февраля 2020

На основании моего теста я только что получил последовательные результаты.

Код:

<?php

require __DIR__.'/vendor/autoload.php';

use Microsoft\Graph\Graph;
use Microsoft\Graph\Model;

$accessToken = 'token_you_get';
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);


$con = array(
    'givenName' => 'jack',
    'surname' => 'Jia',
    'emailAddresses' => array(array('address'=>'jack@hanxia.onmicrosoft.com','name'=>'Jack Jia')),
    'businessPhones' => array('businessPhones')
);

// echo json_encode($con);

// Create
$response = $graph->createRequest('POST','/me/contacts')
    ->attachBody($con)
    ->setReturnType(Model\Contact::class)
    ->execute();

//print_r($response);
print_r(json_encode($response));

?>

Вывод:

{"@odata.context":"https:\/\/graph.microsoft.com\/v1.0\/$metadata#users('ab6d4cd6-fc2d-40c7-a676-f8773aebfb5f')\/contacts\/$entity","@odata.etag":"W\/\"EQAAABYAAADFfsMkDOi6RJmdHfFRfNmxAAG\/fEFA\"","id":"AQMkADEwZjA1OGFkLTdiZmItNGVhZC1hZjU0LWNiN2E5N2Q3M2VhNwBGAAADKULPD_-h-UyldzHnJR6vNgcAxX7DJAzoukSZnR3xUXzZsQAAAgEOAAAAxX7DJAzoukSZnR3xUXzZsQABv5a9WwAAAA==","createdDateTime":"2020-02-12T16:12:44Z","lastModifiedDateTime":"2020-02-12T16:12:44Z","changeKey":"EQAAABYAAADFfsMkDOi6RJmdHfFRfNmxAAG\/fEFA","categories":[],"parentFolderId":"AQMkADEwZjA1OGFkLTdiZmItNGVhZC1hZjU0LWNiN2E5N2Q3M2VhNwAuAAADKULPD_-h-UyldzHnJR6vNgEAxX7DJAzoukSZnR3xUXzZsQAAAgEOAAAA","birthday":null,"fileAs":"","displayName":"jack Jia","givenName":"jack","initials":null,"middleName":null,"nickName":null,"surname":"Jia","title":null,"yomiGivenName":null,"yomiSurname":null,"yomiCompanyName":null,"generation":null,"imAddresses":[],"jobTitle":null,"companyName":null,"department":null,"officeLocation":null,"profession":null,"businessHomePage":null,"assistantName":null,"manager":null,"homePhones":[],"mobilePhone":null,"businessPhones":["businessPhones"],"spouseName":null,"personalNotes":"","children":[],"emailAddresses":[{"name":"Jack Jia","address":"jack@hanxia.onmicrosoft.com"}],"homeAddress":[],"businessAddress":[],"otherAddress":[]}

createdDateTime и lastModifiedDateTime в ответе:

    "createdDateTime": "2020-02-12T16:12:44Z"
    "lastModifiedDateTime": "2020-02-12T16:12:44Z"

И, с помощью Microsoft Graph Explorer, я получил следующий результат:

enter image description here

Вы можете увидеть что и createdDateTime, и lastModifiedDateTime согласуются. Не могли бы вы еще раз попробовать, если это просто временная проблема.

...