0

にドライブからファイルを添付するために使用Googleドライブ-APIの私は、ドライブアカウントからすべてのファイルを受信するには、以下のコードを使用します。特定のGmailアドレス

static void Main(string[] args) 
    { 
     UserCredential credential; 

     using (var stream = 
      new FileStream("client_secret.json", FileMode.Open, FileAccess.Read)) 
     { 
      string credPath = System.Environment.GetFolderPath(
       System.Environment.SpecialFolder.Personal); 
      credPath = Path.Combine(credPath, ".credentials/drive-dotnet-quickstart.json"); 

      credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
       GoogleClientSecrets.Load(stream).Secrets, 
       Scopes, 
       "user", 
       CancellationToken.None, 
       new FileDataStore(credPath, true)).Result; 
      Console.WriteLine("Credential file saved to: " + credPath); 
     } 

     // Create Drive API service. 
     var service = new DriveService(new BaseClientService.Initializer() 
     { 
      HttpClientInitializer = credential, 
      ApplicationName = ApplicationName, 
     }); 

     // Define parameters of request. 
     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(); 

    } 


} 

これを実行した後、私が手: enter image description here

これは素晴らしいです、私は私のドライブアカウントに入っているすべてのファイルを取得します。

今、各ファイルを添付して特定のGmailアドレスに送信したいと思います。

私は今何をすべきですか?

答えて

0

これはまだ実装によって異なる場合がありますが、Gmail APIを使用してドライブファイルを添付して特定のユーザーに送信できます。ここで

は、メールを送信するためのコードスニペットです:

using Google.Apis.Gmail.v1; 
using Google.Apis.Gmail.v1.Data; 

// ... 

public class MyClass { 

    // ... 

    /// <summary> 
    /// Send an email from the user's mailbox to its recipient. 
    /// </summary> 
    /// <param name="service">Gmail API service instance.</param> 
    /// <param name="userId">User's email address. The special value "me" 
    /// can be used to indicate the authenticated user.</param> 
    /// <param name="email">Email to be sent.</param> 
    public static Message SendMessage(GmailService service, String userId, Message email) 
    { 
     try 
     { 
      return service.Users.Messages.Send(email, userId).Execute(); 
     } 
     catch (Exception e) 
     { 
      Console.WriteLine("An error occurred: " + e.Message); 
     } 

     return null; 
    } 

    // ... 

} 

はここであなたを助けることができるいくつかの関連の参照です:(これは、ウェブサンプルが、プロセスおよび実装

希望します。

+0

ですが、Googleドライブアカウントからgoogle-drive-apiを使用してコンピュータに各ファイルをダウンロードし、各ファイルを添付するためにgmail-apiを使用する必要があります。 私は正しいですか? –

関連する問題