2016-04-08 13 views
0

Google Drive'da çok sayıda dosyada dosya paylaşımı izinlerini düzenli olarak değiştirmem gerekiyor. Bunu dosya bazında el ile yapmamayı tercih ederim. Dosya Kimliklerini ayıklama konusunda hiçbir sorunum yok, ancak belirli kullanıcılar için izinleri ayarlama ile ilişkili herhangi bir bilgi bulamıyor gibi görünmüyor. VarsayalımGoogle App Komut Dosyası ile dosya izinlerini ayarlama

Ben ID - 1132asdfasdf5sdf564sdf ile bir dosya var ben e-posta adresi [email protected] ve bu kullanıcının bir Google kullanıcı John Smith adlı bir kullanıcı olduğunu varsayalım.

function myFunction() {  
    // this grabs the ID of the source file 
    var sourcefile=DriveApp.getFileById("1132asdfasdf5sdf564sdf");  
} 

Soru:

Aşağıda örnek bir senaryo. Dosyayı kimliğe bindiğimde, bu belirli kullanıcı için düzenleme veya görüntüleme izinlerini ayarlamak mümkün müdür?

J. İğneler

cevap

0

Sen Drive Service kullanmayı deneyebilirsiniz. Bu hizmet, komut dosyalarının Google Drive'daki dosya ve klasörleri oluşturmasına, bulmasına ve değiştirmesine olanak tanır. enum permission kullanarak

// Log the name of every file in the user's Drive. 
var files = DriveApp.getFiles(); 
while (files.hasNext()) { 
    var file = files.next(); 
    Logger.log(file.getName()); 
} 

, açıkça erişim izni verilen herhangi bireysel kullanıcılar yanında bir dosya veya klasörü erişebilirler kullanıcılara verilen izinleri temsil eder. Bu özelliklere DriveApp.Permission'dan erişilebilir.

  • GÖRÜNÜM - dosya veya klasörü erişebilen kullanıcılar, görüntülemek için sadece edebiliyoruz veya kopyalayın. Dosya türünü desteklemiyorsa, bu değeri File.setSharing(accessType, permissionType)'a geçirmek bir istisna atar.

  • EDIT - Dosyaya veya klasöre erişebilen kullanıcılar dosyayı düzenleyebilir. File.setShareableByEditors(shareable) yanlış ayarlanmadıkça, kullanıcılar paylaşım ayarlarını da değiştirebilir. Dosya türünü desteklemiyorsa, bu değeri File.setSharing(accessType, permissionType)'a geçirmek bir istisna atar.

Daha fazla bilgi için bu SO question numaralı telefonu da kontrol etmeyi deneyin.

İlgili konular