0

我使用下面的代碼從我的硬盤帳戶收到的所有文件:使用谷歌驅動器,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-drive-api將我的Google Drive帳戶中的每個文件下載到我的電腦,而不是附加每個文件,我必須使用gmail-api。 對不對? –

相關問題