Ich habe versucht, diesen sehr einfachen Web-App zu speichern fahren zu erstellen, die Google AppDataFolder Laufwerk wird mit seinem Zustand zu speichern und zu lesen, in json Format. Die Dokumentation für v3 drive api enthält jedoch keine umfassenden Beispiele dafür, wie dies einfach zu erreichen ist.Verwendung von Google AppDataFolder App-Status mit Javascript Seite auf dem Client
Bisher bin ich in der Lage zu autorisieren und Last der Google Drive api, aber ich war zu erstellen die Konfiguration json Datei nicht in der Lage, wenn es nicht vorhanden ist, oder Update sein Inhalt oder lesen, wenn es existiert.
Die Anrufe Ich mache sind: gapi.client.drive.files.get die Config json abzurufen, gapi.client.drive.files.create die Config json und gapi zu erstellen. client.drive.files.update, um den Inhalt zu aktualisieren.
Ich habe versucht, das Javascript Blob Objekt zu verwenden, um meine Datei und ihren Inhalt darzustellen, aber nichts hat funktioniert.
Da ich die Config wie zum Beispiel haben {Test: true} Zeichenfolge und den Dateinamen my-app.json, wie würde ich die gapi.client.drive.files API aufrufen zu können, zu erstellen/aktualisieren/lesen diese config?
Die abrufen Teil Ich versuchte es zu tun, indem Sie zuerst eine Liste der Dateien im App-Ordner, die Konfigurationsdatei nach Name, erhalten Sie seine ID, dann erneut für diese Datei mit der ID anfordern. Aber da ich die Datei nicht erstellen konnte, bin ich mir nicht sicher, ob es funktioniert.
-Code sieht derzeit wie folgt aus (wichtig, dass dieser Code zu notieren bekommt bauen und es ist in dem Client-Browser, nicht auf dem Server ausgeführt werden):
var config = require('../config/google-drive-config');
var authorize = function (immediate) {
return gapi.auth.authorize({
'client_id': config.clientId,
scope: config.scopes.join(' '),
immediate: !!immediate
});
};
var loadDriveAPI = function() {
return gapi.client.load(
config.apiName,
config.apiVersion
);
};
var loadAppDataFileId = function() {
return gapi.client.drive.files
.list({
spaces: 'appDataFolder'
})
.then(function(response) {
return _(response.files)
.find({ name: config.appDataFile })
.get('id')
.value();
});
};
var loadAppData = function (fileId) {
return gapi.client.drive.files
.get({
'fileId': fileId
});
};
var saveAppData = function (appData, fileId) {
var resource = {
'name': config.appDataFile,
'parents': 'appDataFolder'
};
var media = {
mimeType: 'application/json',
body: new Blob([JSON.stringify(appData)], { type: 'application/json' })
};
if (fileId) {
return gapi.client.drive.files
.update({
fileId: fileId,
media: media
});
}
return gapi.client.drive.files
.create({
resource: resource,
media: media,
fields: 'id'
});
};
module.exports = {
authorize: authorize,
loadDriveAPI: loadDriveAPI,
loadAppDataFileId: loadAppDataFileId,
loadAppData: loadAppData,
saveAppData: saveAppData
};
ich genau in dem Moment das gleiche Problem haben. Ich möchte meine Datei aktualisieren, ich habe die FileId. und habe einige JSON-Daten, die ich speichern möchte. –
Willkommen bei stackoverflow. siehe [Wie schreibe ich eine gute Stackoverflow-Frage] (http: // stackoverflow.com/help/how-to-ask) um Ihre Frage zu verbessern, zeigen Sie uns den create Code, der nicht funktioniert. –
Ja, mir ist klar, dass die Frage nicht richtig formuliert wurde. Ich werde mit meinem Code aktualisieren. Danke für das Feedback @ZigMandel –