Я делаю тесты, чтобы делиться файлами с Google apis. У меня уже есть способ поделиться файлами с кем-нибудь, насколько я понимаю, что с разрешения пользователя я делаю это для чтения или записи, что мне нужно через приложение, насторона человека, которому был передан файл, я не могу видеть его, поскольку я заметил, что API не обращается к файлам для разрешения на чтение на диске в приложении, просто установите разрешение как "https://www.googleapis.com/auth/drive.file", потому что япросто хочу, чтобы мое приложение имело доступ к файлам, которые она создала.
владелец (список в API) -> общий доступ -> пользователь (не список в API)
/////////CODE SHARED FILE OWNER
var request1 = gapi.client.request({
'path': '/drive/v3/files/' + fileId + '/permissions',
'method': 'POST',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + sTokenDrive
},
'body':{
'role': 'writer',
'type': 'user',
'emailAddress' : 'user@gmail.com'
}
});
request1.execute(function(resp) {
console.log(resp);
});
////////CODE LIST FILE USER
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for drive.files.list
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/guides/code_samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/drive.file"})
.then(function() { console.log("Sign-in successful"); },
function(err) { console.error("Error signing in", err); });
}
function loadClient() {
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/drive/v3/rest")
.then(function() { console.log("GAPI client loaded for API"); },
function(err) { console.error("Error loading GAPI client for API", err); });
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.drive.files.list({
"corpus": "user",
"q": "sharedWithMe = true"
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) { console.error("Execute error", err); });
}
gapi.load("client:auth2", function() {
gapi.auth2.init({client_id: 'CLIENT_ID'});
});
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>