Për kontekstin, po bëj një aplikacion të vogël në Qt QML që kërkon lexim/shkrim të të dhënave në një fletë google. Pjesa e leximit po funksionon mirë, megjithatë kam probleme me përdorimin e funksionit "sheets.spreadsheets.values.append" nga google sheets API V4 (dokumentacioni mund të gjendet këtu: https://developers.google.com/sheets/api/reference/rest/)
Funksioni Javascript më poshtë merr këtë URL si parametër: https://sheets.googleapis.com/v4/spreadsheets/{SHEET-ID}/values/A2:ZZ:append?valueInputOption=RAW&key={API-KEY}
Trupi i kërkesës i kaluar si parametër është ky:
{
"majorDimension": "ROWS",
"values": [
[
"15:41 02/08/2019",
"Steven",
"20",
"Male",
"[email protected]",
"FooBar"
]
]
}
Funksioni që thirret për të bërë POST:
function postReq(url, callback, request = null) {
var xhr = new XMLHttpRequest();
xhr.open("POST", url);
xhr.onload = function (e) {
if (e) console.log(e);
if (xhr.readyState === 4) {
if (xhr.status === 200) {
console.log(xhr.responseText);
callback(xhr.responseText.toString());
} else {
callback(null);
console.log(xhr.status);
}
} else {
console.log(xhr.status);
};
};
xhr.send(request);
};
Kjo kthen gjithmonë një kod përgjigjeje 401, i cili vazhdon edhe nëse e publikoj fletën në ueb dhe çelësi API nuk duhet të jetë problem pasi funksionon mirë kur lexon të dhënat (u sigurova që fleta të jetë gjithashtu e redaktueshme).