Ich versuche, eine Datei auf Google Drive mit Google Drive V3 API und OAuth 2.0 von einem Browser in JavaScript zu speichern.Google Drive API v3 "code": 401, "Nachricht": "Anmeldung erforderlich"
mein Code ist wie folgt:
<pre><code>
var startApp = function() {
gapi.load('auth2', function(){
// Retrieve the singleton for the GoogleAuth library and set up the client.
auth2 = gapi.auth2.init({
discoveryDocs:'https://www.googleapis.com/discovery/v1/apis/drive/v3/rest',
client_id: 'xxxxxxxxx.apps.googleusercontent.com',
api_key:'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
cookiepolicy: 'single_host_origin',
scope: 'https://www.googleapis.com/auth/drive.file'
});
oauthToken = googleUser.Zi.access_token;
});
gapi.client.load('drive', 'v3', null);
};
function sendfile(formData){
var myPostRequest = new ajaxRequest();
myPostRequest.onreadystatechange = function(){
if (myPostRequest.readyState == 4){
if (myPostRequest.status == 200){
var data = JSON.parse(this.responseText);
console.log('file uploaded: ', data)
}
console.log(''image upload not successful: ', this.responseText);
}
};
myPostRequest.open('POST', 'https://www.googleapis.com/drive/v3/files?fields=contentHints%2Fthumbnail%2Cid%2CimageMediaMetadata%2CisAppAuthorized%2CmimeType%2CwebContentLink%2CwebViewLink&key=xxxxxxxxxxxxx', true);
myPostRequest.send(formData);
}
logInButton.onClick = startApp();
i halten diese 401 Nachricht in Reaktion auf die Post-Anforderung auf dem Erhalten:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
Was bin ich dabei? Muss ich das Zugriffs-Token mit der Post-Anfrage liefern, oder bin ich einfach nicht richtig mit der richtigen Berechtigung und dem richtigen Umfang angemeldet?