Dropbox-Token-API gibt "Fehlende Client-Anmeldeinformationen" in Node.js zurück.

Ich habe versucht, die Dropbox Core-API in Node.js zu verwenden.

Es ist programmiert als:

Benutzer öffnet Autorisierungsseite und ruft Code ab.User gibt den Code in die App ein.App sende es an die Dropbox API.API gibt Token zurück.

Aber ich kann kein Token verwenden und die API gibt einen Fehler mit der Meldung "Fehlende Client-Anmeldeinformationen" zurück.

Mein Code ist hier:https: //gist.github.com/ginpei/65890135d323f18207cÜber API:https: //www.dropbox.com/developers/core/doc

Wie soll ich Code schreiben, um Token zu erhalten?

Vielen Dank

BEARBEITE Hinzufügen von Code aus der verknüpften Liste:

// About API:
// https://www.dropbox.com/developers/core/docs#oa2-authorize
// https://www.dropbox.com/developers/core/docs#oa2-token

var config = require('./config.json');
// OR...
// var config = {
//  'appKey': 'xxxxxxxxxxxxxxx',
//  'secretKey': 'xxxxxxxxxxxxxxx'
// };

var readline = require('readline');
var https = require('https');
var querystring = require('querystring');

// Show authrize page
var url = 'https://www.dropbox.com/1/oauth2/authorize?' +
    querystring.stringify({ response_type:'code', client_id:config.appKey });
console.log('Open and get auth code:\n\n', url, '\n');

// Get the auth code
var rl = readline.createInterface(process.stdin, process.stdout);
rl.question('Input the auth code: ', openRequest);  // defined below

function openRequest(authCode) {
    var req = https.request({
        headers: { 'Content-Type': 'application/json' },
        hostname: 'api.dropbox.com',
        method: 'POST',
        path: '/1/oauth2/token'
    }, reseiveResponse);  // defined below

    // ################################
    // Send code
    // (maybe wrong...)
    var data = JSON.stringify({
        code: authCode,
        grant_type: 'authorization_code',
        client_id: config.appKey,
        client_secret: config.secretKey
    });
    req.write(data);
    // ################################
    req.end();

    console.log('Request:');
    console.log('--------------------------------');
    console.log(data);
    console.log('--------------------------------');
}

function reseiveResponse(res) {
    var response = '';
    res.on('data', function(chunk) { response += chunk; });

    // Show result
    res.on('end', function() {
        console.log('Response:');
        console.log('--------------------------------');
        console.log(response);  // "Missing client credentials"
        console.log('--------------------------------');
        process.exit();
    });
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage