2017-10-19 11 views
0

À partir du week-end dernier, j'ai commencé à recevoir des réponses HTTP 404 lors de la demande d'une liste de modifications pour un lecteur.404 Reçu lors de l'obtention delta

D'abord, j'assurer le lecteur existe:

GET:

https://SOMEURL/sites/ASITENAME/_api/v2.0/drives/{id}/root 

Réponse:

{ 
    <SNIP> 
    "id": "01JGC6XP56Y2GOVW7725BZO354PWSELRRZ", 
    "lastModifiedDateTime": "2017-08-05T22:16:24Z", 
    "name": "root", 
    "parentReference": { 
     "driveId": "b!n5c5t3PkRUiChm70bDc96e2yqnYltoJLq6IT5lxQYDZqi7UosRqoRa_3kgIU8qaV", 
     "driveType": "documentLibrary" 
    }, 
     "folder": { 
     "childCount": 5 
    }, 
    "root": {}, 
    "size": 0 
} 

Depuis existe, je pense que je devrais être en mesure d'obtenir un changelist pour elle. J'essaie d'obtenir la liste des modifications pour ce lecteur en utilisant le lecteur api.

Get:

https://SOMEURL/sites/ASITENAME/_api/v2.0/drives/{id}/root/view.delta?token=3;%234;%231;3;28b58b6a-1ab1-45a8-aff7-920214f2a695;636434930370000000;67434848;%23;%23;%230 

Réponse:

SPRequestGuid →b972249e-e00a-4000-8ed0-963ef7dba0e6 
{ 
    "error": { 
     "code": "itemNotFound", 
     "message": "The resource could not be found." 
    } 
} 

Rien ne se trouve, qui se sent mal pour moi. Vérification the docs il semble que le format a changé

En utilisant la dernière documentation onedrive (delta au lieu de view.delta)

Get:

https://SOMEURL/sites/ASITENAME/_api/v2.0/drives/{id}/root/delta?token=3;%234;%231;3;28b58b6a-1ab1-45a8-aff7-920214f2a695;636434930370000000;67434848;%23;%23;%230 

Réponse:

SPRequestGuid →cf72249e-c0f7-4000-8ed0-97bf0cfaa584 
{ 
    "error": { 
     "code": "itemNotFound", 
     "message": "The resource could not be found." 
    } 
} 

En utilisant /delta avec token=latest

GET:

https://SOMEURL/sites/ASITENAME/_api/v2.0/drives/{id}/root/delta?token=latest 

Réponse:

SPRequestGuid →eb72249e-e08d-4000-8ed0-94ad25d9e424 
{ 
    "@odata.context": "https://SOMEURL/sites/ASITENAME/_api/v2.0/$metadata#items", 
    "@odata.deltaLink": "https://SOMEURL/sites/ASITENAME/_api/v2.0/drives/{id}/root/view.delta(token='3;%234;%231;3;28b58b6a-1ab1-45a8-aff7-920214f2a695;636440196145030000;67696039;%23;%23;%230')", 
    "@delta.token": "3;%234;%231;3;28b58b6a-1ab1-45a8-aff7-920214f2a695;636440196145030000;67696039;%23;%23;%230", 
    "value": [] 
} 

Essayons l'API Microsoft Graph pour voir s'il y a une différence:

Utilisation de l'API Microsoft Graph:

GET: https://graph.microsoft.com/v1.0/drives/{id}/root/delta

RÉPONSE:

client-request-id →34978ae4-57cf-44c2-b5aa-05b8271ab070 
request-id →34978ae4-57cf-44c2-b5aa-05b8271ab070 
x-ms-ags-diagnostic →{"ServerInfo":{"DataCenter":"East US","Slice":"SliceA","ScaleUnit":"003","Host":"AGSFE_IN_1","ADSiteName":"EST"}} 
{ 
    "error": { 
     "code": "itemNotFound", 
     "message": "The resource could not be found.", 
     "innerError": { 
      "request-id": "dc105a6d-8f37-4865-bede-cbd875729af7", 
      "date": "2017-10-19T14:26:47" 
     } 
    } 
} 

J'ai trouvé one public issue qui semble très semblable à ce que je vis.

Mes questions sont les suivantes:

  1. /view.delta est maintenant considéré comme obsolète?

  2. Si je peux récupérer un lecteur, dans un cas dois-je obtenir un 404 lors de la demande du delta?

  3. Pourquoi l'utilisation de ?token=latest renvoie-t-elle des données sans qu'un 404 soit renvoyé?

Répondre

0

Vous devez préfixer le point final avec l'espace de noms OneDrive. (vous pouvez lire Direct Endpoint Differences: Namespaces pour plus de détails).

Donc, pour le point final Delta, plutôt que d'appeler:

/_api/v2.0/drives/{id}/root/delta 

Essayez d'appeler

/_api/v2.0/drives/{id}/root/oneDrive.delta 

Je suis cependant un peu confus en ce qui concerne l'exemple Microsoft Graph. La syntaxe de votre appel (/v1.0/drives/{id}/root/delta) est correcte.

1

Il s'agit certainement d'une régression de comportement qui se déclenche pour les bibliothèques de documents qui ont des colonnes ou des colonnes obligatoires avec une formule de validation. Nous travaillons sur un correctif et le déploierons dès que possible.

+0

Ce problème devrait maintenant être résolu - nous nous excusons pour la gêne occasionnée. – Brad