【发布时间】:2016-07-23 23:04:45
【问题描述】:
我正在尝试将用 C# 编写的服务器连接到我的 Google Drive,因此我使用 Google 服务帐户,我从 Google API 控制台配置了所有内容并具有以下代码
static void Main(string[] args)
{
string[] Scopes = { DriveService.Scope.Drive };
var certificate = new X509Certificate2("client_secret.p12", "notasecret", X509KeyStorageFlags.Exportable);
try
{
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer("sp-update@salmon-player-update.iam.gserviceaccount.com")
{
Scopes = Scopes
}.FromCertificate(certificate));
DriveService service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Salmon Player Update"
});
FilesResource.ListRequest listRequest = service.Files.List();
listRequest.PageSize = 10;
listRequest.Fields = "nextPageToken, files(id, name)";
// List files.
IList<Google.Apis.Drive.v3.Data.File> files = listRequest.Execute()
.Files;
Console.WriteLine("Files:");
if (files != null && files.Count > 0)
{
foreach (var file in files)
{
Console.WriteLine("{0} ({1})", file.Name, file.Id);
}
}
else
{
Console.WriteLine("No files found.");
}
Console.Read();
} catch(Exception ex)
{
Console.WriteLine(ex.InnerException);
}
}
但无论我做什么,我得到的只是“入门”文件,该文件不再存在。我有很多不同的文件无法访问。 任何想法这里可能有什么问题?
【问题讨论】:
标签: google-drive-api google-api-dotnet-client service-accounts