cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to learn some quick and useful tips to make your day easier? Check out how Calvin uses Replay to get feedback from other teams at Dropbox here.

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Re: utilisation de l'API filesGetThumbnail

utilisation de l'API filesGetThumbnail

yvancoyaud
Helpful | Level 6
Go to solution

Bonjour,

Je suis au début de mes essais du SDK javascript de Dropbox et j'ai le problème suivant:

Le contexte :

<head>
  <title>testDropbox</title>
    <script src="https://unpkg.com/dropbox/dist/Dropbox-sdk.min.js">
    </script>
</head>
<body>
  <h1>Welcome to testDropbox</h1>
</body>
var Dropbox = require('dropbox').Dropbox;
let dbx = new Dropbox({accessToken:'MY_TOKEN'}); // siteyc
dbx.filesListFolder({path: '/musiques/Calypso_Rose'})
    .then(function(response) {
        console.log(response);
        dbx.filesGetThumbnail({"path": "/IMG91.jpeg"})
            .then(function (response) {
                var img = document.createElement('img');
                img.src=window.URL.createObjectURL(response.fileBlob);
                document.body.appendChild(img);
            })
            .catch(function (error) {
                console.log("got error:");
                console.log(error);
            })
    .catch(function (error) {
            console.log(error);
        });
    });

Et j'ai l'erreur :

TypeError: t.buffer is not a function
at modules.js?hash=766e2ef4550445d16370e789a864189070692cbb:1007
at meteor.js?hash=c9a34f92f28ede5a42eac467d3fa1763b624436a:1168
at <anonymous>

 

Je n'arrive pas a trouver de solution sur internet.

Quelqu'un peut petètre maider ?

Merci

YC

1 Accepted Solution

Accepted Solutions

yvancoyaud
Helpful | Level 6
Go to solution

Mille merci, ça fonctionne.

 

Je remets ci-dessous le code si cela peut servir à d'autres développeurs sous Meteor.

Dabord :

$ meteor npm i dropbox -s

 va inclure dans l'environnement du projet Meteor, "dropbox" et "dropbox-sdk"

 

<head>
  .....
        <script src="https://unpkg.com/dropbox/dist/Dropbox-sdk.min.js"></script>
  .....
</head>
let dbx = new Dropbox.Dropbox({accessToken:'MY_APP_TOKEN'});
dbx.filesListFolder({path: ''})
    .then(function(response) {
        console.log(response)
        dbx.filesGetThumbnail({"path": "/IMG90.jpeg"})
            .then(function(response) {
                var img = document.createElement('img');
                img.src=window.URL.createObjectURL(response.fileBlob);
                document.body.appendChild(img);
            })
            .catch(function(error) {
                console.log("got error:");
                console.log(error);
            });

    })
    .catch(function (error) {
        console.log(error);
    })

 

Voila cette configuration fonctionne pour moi.

 

Merci encore à Greg K.

YC

 

View solution in original post

7 Replies 7

Greg-DB
Dropbox Staff
Go to solution

Cela dépend de l'environnement dans lequel vous exécutez et de la manière dont vous importez la bibliothèque. Il y a quelques fils connexes:

 

https://www.dropboxforum.com/t5/API-support/Installations/m-p/263451#M15391
https://github.com/dropbox/dropbox-sdk-js/issues/172
https://github.com/dropbox/dropbox-sdk-js/issues/178

 

En bref, je vois que vous importez la bibliothèque à la fois comme une bibliothèque JavaScript, ainsi qu'une bibliothèque de nœuds. Essayez de l'importer uniquement en tant que bibliothèque JavaScript.

---

S'il vous plaît excusez nos traductions. Nos traductions ont été créées en utilisant un traducteur en ligne. Nous aimerions soutenir toutes les langues, mais nous ne sommes pas équipés pour le faire. Voici la version anglaise:

---

Please excuse our translations. Our translations were created using an online translator. We'd like to support every language, but we're not currently equipped to do so. Here is the English version:

---

This depends on what environment you're running in, and how you import the library. There are a few related threads:

 

https://www.dropboxforum.com/t5/API-support/Thumbnails/m-p/263451#M15391
https://github.com/dropbox/dropbox-sdk-js/issues/172
https://github.com/dropbox/dropbox-sdk-js/issues/178

 

In short, I see you're importing the library both as a JavaScript library, as well a Node library. Please try only importing it as a JavaScript library.

yvancoyaud
Helpful | Level 6
Go to solution

Merci de votre réponse,

mais qu'appelez vous une bibliothèque de nœuds ?? par rapport a une biliothèque javascript ?

Greg-DB
Dropbox Staff
Go to solution

L'importation de Node dont je parle est la `require ('dropbox')` dans votre code, et l'importation JavaScript à laquelle je fais référence est le `<script src=... `dans votre code.

---

The Node import I'm referring to is the `require('dropbox')` in your code, and the JavaScript import I'm referring to is the `<script src=...` in your code.

yvancoyaud
Helpful | Level 6
Go to solution

Bonjour, suite,

Si j'enlève le

<script src="https://unpkg.com/dropbox/dist/Dropbox-sdk.min.js"></script>

                                   du head, ça ne change rien !!! un peu comme si ligne était inutile ...

Si j'enlève le 

var Dropbox = require('dropbox').Dropbox;

bien sûr j'ai une autre erreur qui me dit  'Dropbox is not a constructor' ce qui me semble  normal.

 

Je suis un peu perdu et rien de bien clair les forums meme sur Stack Overflow.

Vos lumières m'aideraient vraiment.

 

Merci

YC

 

Greg-DB
Dropbox Staff
Go to solution
Lorsque vous supprimez la ligne `var Dropbox = require ('dropbox'). Dropbox;` line, vous devez changer la façon dont vous accédez au constructeur. Au lieu de `new Dropbox`, faites` new Dropbox.Dropbox`.
---

When you remove the `var Dropbox = require('dropbox').Dropbox;` line, you will need to switch how you access the constructor. Instead of `new Dropbox`, do `new Dropbox.Dropbox`.

yvancoyaud
Helpful | Level 6
Go to solution

Mille merci, ça fonctionne.

 

Je remets ci-dessous le code si cela peut servir à d'autres développeurs sous Meteor.

Dabord :

$ meteor npm i dropbox -s

 va inclure dans l'environnement du projet Meteor, "dropbox" et "dropbox-sdk"

 

<head>
  .....
        <script src="https://unpkg.com/dropbox/dist/Dropbox-sdk.min.js"></script>
  .....
</head>
let dbx = new Dropbox.Dropbox({accessToken:'MY_APP_TOKEN'});
dbx.filesListFolder({path: ''})
    .then(function(response) {
        console.log(response)
        dbx.filesGetThumbnail({"path": "/IMG90.jpeg"})
            .then(function(response) {
                var img = document.createElement('img');
                img.src=window.URL.createObjectURL(response.fileBlob);
                document.body.appendChild(img);
            })
            .catch(function(error) {
                console.log("got error:");
                console.log(error);
            });

    })
    .catch(function (error) {
        console.log(error);
    })

 

Voila cette configuration fonctionne pour moi.

 

Merci encore à Greg K.

YC

 

Greg-DB
Dropbox Staff
Go to solution
Le problème d'origine `t.buffer n'est pas une fonction` devrait être corrigé dans la dernière version de la bibliothèque, actuellement v4.0.3.
---
The original `t.buffer is not a function` issue should be fixed in the latest version of the library, currently v4.0.3.
Need more support?