Correcció de l'API de Dropbox v2 per al servidor de sincronització de Neotoma
Com a part del meu sprint de treball a l'IndieWebCamp Berlin d'avui, he aconseguit arreglar un error d'aturada de l'espectacle que s'ha produït per al servidor de sincronització a Neotoma i he executat una tasca de còpia de seguretat per als meus últims registres de Foursquare / Swarm.
Com a part del meu sprint de treball a IndieWebCamp Berlin avui, he aconseguit arreglar un error d'aturada de l'espectacle que s'ha produït per a sync-server a [Neotoma.io](https://12, aparentment des del 2 de setembre). Dropbox va retirar completament la seva API v1 a favor de l'API v2.
No vaig ser conscient d'aquest error fins aquesta setmana, ja que la gestió d'errors en producció no s'ha configurat per notificar-me (per correu electrònic o d'una altra manera), però ara configurar aquesta notificació és una tasca prioritzada per evitar problemes silenciosos com aquest en el futur.
Després d'explorar el codi, va resultar que la implementació de Passport per a Dropbox específicament no passava un paràmetre "apiVersion" en la inicialització de la seva estratègia, i com a tal, la meva API era v1 per defecte.
He afegit apiVersion com a paràmetre aquí i també as. un atribut del model d'emmagatzematge, específicament per a "a3536d59dde2" Document d'emmagatzematge de Dropbox.
Nota: aparentment, aquest atribut ha de ser una cadena, no un nombre enter, el darrer dels quals no em va funcionar quan ho vaig intentar.
req.strategy = nou passaportStrategy.Strategy({
apiVersion: document.apiVersion,
clientID: document.clientId,
clientSecret: document.clientSecret,
consumerKey: document.clientId,
consumerSecret: document.clientSecret,
callbackURL: `${req.protocol}://${req.get('host')}${path.resolve('/', Model.modelType(), document.slug, 'auth-callback')}`,
passReqToCallback: cert,
profileFields: ['id', 'displayName', 'emails']
}...Com a resultat, ara l'autenticació de Dropbox torna a funcionar i he pogut executar una tasca de còpia de seguretat per als meus registres de Foursquare / Swarm, sincronitzant els més recents amb el meu Dropbox des de la darrera còpia de seguretat executada a principis d'estiu.