public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log, [TokenStoreBinding(Token_url = "https://sample-token-store.tokenstore.azure.net/services/dropbox/tokens/sampleToken", Auth_flag = "msi")] TokenBindingOutput tokenbindingoutput) // set input binding parameters { log.LogInformation("C# HTTP trigger function processed a request."); var filesList = new List <string>(); if (!string.IsNullOrEmpty(tokenbindingoutput.outputToken)) // If token is avaliable, list dropbox directories/files { using (var dbx = new DropboxClient(tokenbindingoutput.outputToken)) { var list = await dbx.Files.ListFolderAsync(string.Empty); // show folders then files foreach (var item in list.Entries.Where(i => i.IsFolder)) { filesList.Add($"{item.Name}/"); } foreach (var item in list.Entries.Where(i => i.IsFile)) { filesList.Add($"{item.Name} \n"); } } } System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (var file in filesList) { sb.Append(file); } return((ActionResult) new OkObjectResult($"Files: \n {sb.ToString()}")); }
public static async void Run([TimerTrigger("*/1 * * * * * ")] TimerInfo myTimer, ILogger log, [TokenStoreBinding(Token_url = "https://sample-token-store.tokenstore.azure.net/services/dropbox/tokens/sampleToken", Auth_flag = "msi")] TokenBindingOutput tokenbindingoutput) // update binding inputs { // timer triggered every second (note: may be slowed down since this is an async method) log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}"); if (!string.IsNullOrEmpty(tokenbindingoutput.outputToken)) { using (var dbx = new DropboxClient(tokenbindingoutput.outputToken)) { var list = await dbx.Files.ListFolderAsync(string.Empty); // show folders then files foreach (var item in list.Entries.Where(i => i.IsFolder)) { log.LogInformation($"Directory: {item.Name}"); } foreach (var item in list.Entries.Where(i => i.IsFile)) { log.LogInformation($"File: {item.Name}"); } } } }