我想用Google Drive API下载音频文件(mp3,m4a,wma ...)。尝试下面的代码,我在模拟器上得到了错误。
错误:
The operation could't be completed. (The user has not granted the app xxxx read access to the file alEnlflseiFNSEi.)
代码:
let url = "https://www.googleapis.com/drive/v3/files/\(identifier)?alt=media"
service.fetchObject(
with: URL(string: url)!,
delegate: self,
didFinish: #selector(GoogleDriveFileListTableViewController.downloadWithTicket(ticket:finishedWithObject:error:))
)
// Parse results and display
func downloadWithTicket(ticket : GTLServiceTicket, finishedWithObject response : GTLDriveFileList, error : NSError?) {
if let error = error {
showAlert(title: "Error", message: error.localizedDescription)
return
}
}
答案 0 :(得分:1)
关于您的"读取权限"问题在于Download files states:
下载文件要求用户至少具有读取权限。 此外,您的应用必须获得允许的范围授权 阅读文件内容。例如,使用的应用程序 drive.readonly.metadata范围无权下载 文件内容。拥有编辑权限的用户可以限制下载 通过将viewersCanCopyContent字段设置为true来使用只读用户。
尝试使用Files.get获取音频文件的webContentLink。在新窗口中单击或打开此链接时,将下载音频文件。
它看起来像这样:
https://drive.google.com/uc?id=0Bzgk4zccNwI7TzBxZTFzbHFhdUU&export=download