public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            var outlookConnectionString  = System.Environment.GetEnvironmentVariable("OUTLOOK_CONNECTION", EnvironmentVariableTarget.Process);
            var oneDriveConnectionString = System.Environment.GetEnvironmentVariable("ONEDRIVE_CONNECTION", EnvironmentVariableTarget.Process);

            var outlookConnector  = OutlookConnector.Create(outlookConnectionString);
            var oneDriveConnector = OneDriveConnector.Create(oneDriveConnectionString);
//added comments
            var emails = await outlookConnector.Mail.GetEmailsV2Async(
                fetchOnlyUnread : true,
                fetchOnlyWithAttachment : true,
                includeAttachments : true
                );

            foreach (var email in emails.Value)
            {
                foreach (var attachemnt in email.Attachments)
                {
                    var    bytes  = attachemnt.ContentBytes;
                    Stream stream = new MemoryStream(bytes);

                    await oneDriveConnector.OneDriveFileData.CreateFileAsync("emailAttachments/", attachemnt.Name, stream);
                }
            }

            log.LogInformation("C# HTTP trigger function processed a request.");
            string responseMessage = "This HTTP triggered function executed successfully.";

            return(new OkObjectResult(responseMessage));
        }
        private void WebView_LoadCompleted(object sender, NavigationEventArgs e)
        {
            string accessToken = OneDriveConnector.ParseAccessCode(webView.Source);

            if (!string.IsNullOrWhiteSpace(accessToken))
            {
                ((App)App.Current).OneDriveAccessToken = accessToken;
                ShowSuccessMessage();
            }
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            string clientId = settings.Values[nameof(DeviceSettingNames.OneDriveClientId)] as string ?? string.Empty;
            Guid   clientIdGuid;

            if (string.IsNullOrWhiteSpace(clientId) || !Guid.TryParse(clientId, out clientIdGuid))
            {
                DisplayMissingClientIdDialog(e.Parameter);
                return;
            }
            base.OnNavigatedTo(e);

            if (string.IsNullOrWhiteSpace(((App)App.Current).OneDriveAccessToken))
            {
                webView.Navigate(new Uri(OneDriveConnector.GenerateOneDriveLoginUrl(clientId)));
            }
            else
            {
                ShowSuccessMessage();
            }
        }
Esempio n. 4
0
        /*******************************************************************************************
* PUBLIC METHODS
*******************************************************************************************/
        public OneDrive()
        {
            oneDriveConnector = new OneDriveConnector();
            oneDriveConnector.TokensChangedEvent += SaveTokens;
        }
Esempio n. 5
0
 /*******************************************************************************************
 * PUBLIC METHODS
 *******************************************************************************************/
 public OneDrive()
 {
     oneDriveConnector = new OneDriveConnector();
     oneDriveConnector.TokensChangedEvent += SaveTokens;
 }