9
votes

Google Drive - Impossible de télécharger des vignettes avec une demande authentifiée (OAUTH2)

Pour tous Google Docs, je ne suis pas capable de télécharger la vignette de la propriété Thumbnaillink renvoyée avec une réponse de fichier.

Je reçois toujours une page d'erreur '403 - interdite' avec un message similaire à celui-ci:

Votre client n'a pas la permission d'obtenir URL / Thumbnaillink strong> à partir de ce serveur. P>

(adresse IP du client: hébergeur forte>) p>

utilisateur non autorisé p> blockQuote>

J'essaie d'utiliser la classe mediadownloader.cs fourni par Google et j'essaie également de le télécharger à l'aide de ce code: P>

using (Stream stream = service.HttpClient.GetStreamAsync(p_DownloadUrl).Result) {
    StreamUtilities.Copy(p_WriteDelegate, stream.Read);
}


5 commentaires

Même problème ici. Le problème semble apparaître uniquement sur Google Docs, pas tous les fichiers. Il est apparu relativement récemment, car je pouvais il y a deux mois, téléchargez les vignettes de ces fichiers.


Exactement, la demande doit être authentifiée pour télécharger les vignettes Google Docs, mais l'authentification OAuth2 ne fonctionne pas pour cela, seule une authentification basée sur la cookie fonctionnera. Et dans mon cas, ce scénario n'est pas viable.


J'ai enquêté sur la question un peu .. étrangement, ce problème ne semble pas avoir une incidence sur tout le monde. J'ai testé avec un autre compte: certains ont le même problème, certains ne le font pas et je peux télécharger les vignettes. Toutes les demandes sont authentifiées avec l'en-tête «Autorisation» traditionnel. Semble être un problème sur Google Side ...


De mon côté, j'utilise un compte de service (avec délégation d'autorité) et je ne peux télécharger aucune vignette lorsqu'il s'agit d'une documentation Google.


Même ici, les gars ... avec des fichiers réguliers fonctionnent, mais Google Docs me donne un "utilisateur non autorisé", même avec la permission pour le public


3 Réponses :


3
votes

Autant que je puisse dire, il s'agit d'un bogue avec l'API Google Drive. Comme vous l'avez dit, ce problème n'apparaît que pour les documents de format Google Docs, non téléchargés.

Je reçois exactement le même type de message d'erreur décrit dans mon message .

aussi comme vous avez mentionné, je crois que cela travaillait il y a peu de temps.

Le problème que nous obtenons maintenant n'a pas eu lieu lorsque nous utilisions l'API de la liste de documents obsolète. Nous passons à l'API Google Drive avec OAuth2 dans le cadre de la mise à jour de notre application sur le marché afin d'être répertoriées sur le marché V2.

Il a été extrêmement frustrant de ne pas avoir de commentaires des développeurs de Google qui sont probablement les seuls à répondre à la question de savoir s'il s'agit d'un problème avec l'API Drive.


1 commentaires

Je suis d'accord avec vous, c'est très frustrant. L'équipe de support Google n'est pas très proactive. J'exprime aussi beaucoup de problèmes avec la nouvelle API avec OAuth2 ...



4
votes

Edit: Ce problème a maintenant été corrigé. Voir Réponse de Kalyan Reddy .

Je crois aussi qu'il s'agit d'un problème sur le côté de Google. Cela n'a aucun sens que vous pouvez télécharger ou exporter un fichier à l'aide d'une demande authentifiée OAuth2, mais de télécharger une vignette de ce même fichier. Une autre incohérence est que cela n'affecte que des formats natifs d'entraînement tels que application / vnd.google-apps.document code>. Par exemple, je peux obtenir une vignette de document.docx, mais pas du document d'entraînement converti de celui-ci. S> p>

Je me demandais comment google le fait dans leurs propres applications et si j'utilise l'API ne va pas. S'avère qu'ils utilisent Une API privée pour les miniatures : P>

https://googledrive.com/thumb/{file_id}
https://googledrive.com/thumb/{file_id}?width=500&height=500
https://googledrive.com/thumb/{file_id}?width=500&height=500&crop=false


0 commentaires

1
votes

Nous avons récemment apporté une modification pour résoudre ce problème. Veuillez essayer votre code à nouveau et voir si vous obtenez toujours cette erreur. J'ai pu exécuter le code suivant pour télécharger avec succès une vignette de mon document Google. XXX


0 commentaires