WPF プロジェクトで Google ドライブ API を使用することにしました。多くのドキュメントとサンプルを検索しました。学習して成功しました。すべてうまく機能します。この機能を挿入/アップロードに使用しました。
public static Google.Apis.Drive.v2.Data.File InsertFile(DriveService service, String title, String description, String parentId, String mimeType, String filename)
{
Google.Apis.Drive.v2.Data.File body = new Google.Apis.Drive.v2.Data.File();
body.Title = title;
body.Description = description;
body.MimeType = mimeType;
if (!String.IsNullOrEmpty(parentId))
{
body.Parents = new List<ParentReference>() { new ParentReference() { Id = parentId } };
}
byte[] byteArray = System.IO.File.ReadAllBytes(filename);
MemoryStream stream = new MemoryStream(byteArray);
try
{
FilesResource.InsertMediaUpload request = service.Files.Insert(body, stream, mimeType);
request.Upload();
Google.Apis.Drive.v2.Data.File file = request.ResponseBody;
return file;
}
catch (Exception e)
{
Console.WriteLine("An error occurred: " + e.Message);
}
}
小さなサイズのファイルをGoogleドライブにアップロードしたいとき、それはうまくいきます。しかし、大きなサイズのファイルをアップロードしようとすると、エラーが発生して失敗します。このエラーが発生しました
System.Net.WebException was caught HResult=-2146233079 Message=The request was aborted: The request was canceled.Source=System StackTrace:
at System.Net.ConnectStream.InternalWrite(Boolean async, Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
at System.Net.ConnectStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at Google.Apis.Upload.ResumableUpload`1.SendChunk(Stream stream, Uri uri, Int64 position)
at Google.Apis.Upload.ResumableUpload`1.Upload()
at Google.Apis.Util.Utilities.InsertFile(DriveService service, String title, String description, String parentId, String mimeType, String filename) in ..
このエラーを探して同じ問題に遭遇しましたが、どこが間違っているのか理解できません。誰かが私を助けたり、コードを明確に修正したりできますか? ありがとう :)