我想使用Google.Apis列出我的Google网站上的所有网页。使用Google.Apis.Drive.v3方法,我可以列出我的云端硬盘帐户的内容,但我只为我的网站添加了一个条目 - 标题为MimeType为“application / vnd.google-apps” 。现场”。我正在使用服务帐户进行连接,这似乎正在起作用。是否有其他方式与Google网站上的文件进行互动?这是我的代码:
string[] scopes = { DriveService.Scope.Drive, DriveService.Scope.DriveFile, DriveService.Scope.DriveAppdata, DriveService.Scope.DriveMetadata, DriveService.Scope.DriveScripts };
//open the service account private key file
using (var stream = new FileStream("appName-bc2d6ad1c3bb.json", FileMode.Open, FileAccess.Read))
{
//create a new service credential
var credential = GoogleCredential.FromStream(stream);
credential = credential.CreateScoped(scopes);
//create a new Drive service
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "appName",
});
var files = service.Files.List().Execute().Files;
foreach(var tmpFile in files)
{
//Only lists the site name, not the individual HTML files
Console.WriteLine(tmpFile.Name + " : " + tmpFile.Id + " : " + tmpFile.MimeType);
}
}
答案 0 :(得分:0)
首先,您需要记住服务帐户不是您。除非您授予其访问权限,否则服务帐户无法访问数据。尝试访问您的网站并使用服务帐户电子邮件地址共享该网站。
其次,您确定这些文件位于Google云端硬盘上吗?