Создать контакт в Microsoft Bookings Failing - PullRequest
1 голос
/ 04 мая 2020

Я использую вызов Microsoft Graph REST Beta API:

POST https://graph.microsoft.com/beta/bookingBusinesses/{id}/customers 

С полезной нагрузкой тела:

{
    "displayName": "User Name",
    "emailAddress": "email%40eventhorizon.llc"
}

Я получаю ответ 201 (успех). Но данные в Bookings повреждены, когда я смотрю на интерфейс, как и ответ JSON, который содержит пустое электронное письмо и т. Д. c. хотя я отправил эти данные в API. Может кто-нибудь сказать мне, что я делаю неправильно?

JSON Ответ (обратите внимание, что он получает адрес электронной почты в ODATA):

{
'@odata.context':'https://graph.microsoft.com/beta/$metadata#bookingBusinesses('email%40eventhorizon.llc')/customers/$entity',
       'id':'ee6004dd-c4af-435d-b3a9-532b2753753e',
       'displayName':'ee6004dd-c4af-435d-b3a9-532b2753753e',
       'emailAddress':null
}

Java Код:

        IAuthenticationResult auth = msft.getAuth();
        String accessToken = auth.accessToken();
        URL url = new URL(urlString);
        conn = (HttpURLConnection) url.openConnection();

        conn.setRequestProperty("Content-Type", "application/json");
        conn.setRequestProperty("Authorization", "Bearer " + accessToken);
        conn.setRequestProperty("Accept", "application/json"); 
        conn.setRequestMethod(method);
        if (method.equalsIgnoreCase("POST") || method.equalsIgnoreCase("PUT")) {
            conn.setRequestProperty("X-HTTP-Method-Override", "PATCH");
            conn.setDoOutput(true);
            String str = payload.toString();
            OutputStream out = conn.getOutputStream();
            out.write(str.getBytes());
            out.flush();
        }

        httpResponseCode = conn.getResponseCode();
...