Office.context.mailbox.getCallbackTokenAsync () пустой токен - PullRequest
0 голосов
/ 24 октября 2019

У меня проблема с веб-надстройкой для Outlook.

Клиент Outlook 2016 (MSI), что, как я считаю, означает, что он поддерживает не выше JavaScript API 1.4, в отличие от Outlook 2016(C2R), который, насколько я помню, поддерживает JavaScript API 1.6 или, может быть, даже выше.

В любом случае, я пытаюсь использовать метод Office.context.mailbox.getCallbackTokenAsync(asyncResult), который ранее отлично работал на сервере, где он находится. используется, но теперь он перестал работать по какой-то странной причине.

asyncResult теперь пуст или, скорее, токен пуст.

{"value":"","status":"succeeded"}

Как токен может быть пустым внезапнокогда эта надстройка работала идеально? По словам администратора сервера, он получил обновления Windows в тот день, когда это перестало работать как для Office, так и для Outlook.

Клиенты Outlook подключаются к Exchange 2013 (CU7 9 декабря 2014: 15.0. 1044.25), который также получил некоторые обновления.

С тех пор оба сервера были перезагружены, но ничего не изменилось. Маркер остается пустым.

Может ли кто-нибудь пролить свет на то, что может быть причиной этого, если кто-то знает, что это так, потому что все, что я действительно могу сделать сам - это догадка?

ОБНОВЛЕНИЕ 1

Теперь мне дано разрешение на установку Fiddler, и я нашел запрос и ответ о попытке получить токен. Может ли кто-нибудь из вас, кто знает сервер Exchange наизнанку, увидеть, что здесь происходит, потому что я не вижу каких-либо рассуждений о том, что не получается, за исключением того, что ответное сообщение указывает, что запрос каким-то образом неисправен (чего не былоизменено не менее чем на год).

Вот запрос (некоторые имена были заменены чем-то общим).

REQUEST

POST https://<domain>/ews/Exchange.asmx HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Pragma: no-cache
Content-Type: text/xml; charset=utf-8
User-Agent: Microsoft Office/16.0 (Windows NT 6.3; Microsoft Outlook 16.0.4849; Pro)
X-User-Identity: <account>@<domain>.com
Depth: 0
Content-Length: 801
Host: <host>
Authorization: Negotiate TlRMTVNTUAADAAAAGAAYAJ4AAABCAUIBtgAAAAAAAABYAAAANAA0AFgAAAASABIAjAAAABAAEAD4AQAAFYKI4gYDgCUAAAAPGSbYTqZVeCx7cnQxM336pnMAeQBzAHQAZQBtAGMAbwBuAG4AZQBjAHQAQABlAHMAdABpAGMAaABlAG0ALgBjAG8AbQBFAFMAVABJAC0AQwBUAFgAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT6dTWGCCv/rRor0Srrxd9AQEAAAAAAADJcWWYQo7VATtznMo8smALAAAAAAIACABFAFMAVABJAAEAFABFAFMAVABJAC0ARQBYAEMASAAxAAQAFABFAFMAVABJAC4AbABvAGMAYQBsAAMAKgBFAFMAVABJAC0ARQBYAEMASAAxAC4ARQBTAFQASQAuAGwAbwBjAGEAbAAFABQARQBTAFQASQAuAGwAbwBjAGEAbAAHAAgAyXFlmEKO1QEGAAQAAgAAAAgAMAAwAAAAAAAAAAAAAAAAIAAA77CK35CNnSd54Hy6NnToh6W3Oxa6tsihxlCrQ8jwDWMKABAARs+Rq8MKQZq+cmQJ8nL9/gkALABIAFQAVABQAC8AbQBhAGkAbAAuAGUAcwB0AGkAYwBoAGUAbQAuAGMAbwBtAAAAAAAAAAAAeHckPR2HOLOW0y2ri7TR1A==
Cookie: OutlookSession="{994C5944-A93C-4830-9E6F-605881790815}"; ClientId=PRHSVIWKYUDISQLQPQ


            <?xml version="1.0"?>
            <q:Envelope
                xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types"
                xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages"
                xmlns:q="http://schemas.xmlsoap.org/soap/envelope/">
                <q:Header>
                    <ex12t:RequestServerVersion Version="Exchange2012"></ex12t:RequestServerVersion>
                </q:Header>
                <q:Body>
                    <ex12m:GetClientAccessToken>
                        <ex12m:TokenRequests>
                            <ex12t:TokenRequest>
                                <ex12t:Id>214c1212-e3ff-45eb-9218-2deb35d6b8b9</ex12t:Id>
                                <ex12t:TokenType>ScopedToken</ex12t:TokenType>
                                <ex12t:Scope>ParentItemId:AAMkADRiMzkyMjhmLWQ1NGItNDY0Mi04Nzk0LWYyNzMzZWQ2ZGE5MABGAAAAAAApHj7qoKF1QY4+pcwfu7uCBwCHPrayw2+bT5ByF4j5Y8QZAAAAAAEMAACHPrayw2+bT5ByF4j5Y8QZAAAAAAFxAAA=</ex12t:Scope>
                            </ex12t:TokenRequest>
                        </ex12m:TokenRequests>
                    </ex12m:GetClientAccessToken>
                </q:Body>
            </q:Envelope>

ОТВЕТ (некоторые имена были заменены чем-то общим).

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/8.5
request-id: 1a7cbf79-8ba3-4a73-bfa2-1733d841b2b1
X-CalculatedBETarget: <server>.local
X-DiagInfo: <server>
X-BEServer: <server>
X-AspNet-Version: 4.0.30319
Set-Cookie: exchangecookie=2cd797c5290345a7861dfe60e16ecc12; expires=Thu, 29-Oct-2020 10:21:15 GMT; path=/; HttpOnly
Set-Cookie: X-BackEndCookie=S-1-5-21-2060358956-2462126529-2132206371-1263=u56Lnp2ejJqBmpzHns+cypzSncaZzdLLmprH0p3HxsvSm5yaycuazMieys/MgYHNz87G0s7O0s3Hq87Pxc3Oxc7K; expires=Thu, 28-Nov-2019 09:21:15 GMT; path=/ews; secure; HttpOnly
Persistent-Auth: true
X-Powered-By: ASP.NET
X-FEServer: <server>
Date: Tue, 29 Oct 2019 10:21:15 GMT
Content-Length: 1148


<?xml version="1.0" encoding="utf-8"?>
<s:Envelope
    xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header>
        <h:ServerVersionInfo MajorVersion="15" MinorVersion="0" MajorBuildNumber="1044" MinorBuildNumber="21" Version="V2_22"
            xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types"
            xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        </s:Header>
        <s:Body
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <m:GetClientAccessTokenResponse
                xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
                xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
                <m:ResponseMessages>
                    <m:GetClientAccessTokenResponseMessage ResponseClass="Error">
                        <m:MessageText>The token for this extension could not be retrieved.</m:MessageText>
                        <m:ResponseCode>ErrorInvalidClientAccessTokenRequest</m:ResponseCode>
                        <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
                    </m:GetClientAccessTokenResponseMessage>
                </m:ResponseMessages>
            </m:GetClientAccessTokenResponse>
        </s:Body>
    </s:Envelope>
...