- 新たに、dotnet mauiで、ダウンロード等のアプリ(ここでは、DropBoxCSVFileLoderという名前)を作成し、DropBox.apiもインストールしておきます。そして以下のようなコードで、ダウンロード等をします。
using Dropbox.Api;
using Dropbox.Api.Files;
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Maui.Controls;
using Microsoft.Maui;
using System.Diagnostics;
namespace DropBoxCSVFileLorder
{
public partial class MainPage : ContentPage
{
int count = 0;
public MainPage()
{
InitializeComponent();
InitializeAsync();
}
private async void InitializeAsync()
{
Debug.WriteLine("InitializeAsyn called.");
string accessToken = "XXXXXX"; // 取得したアクセストークンを設定
string dropboxFilePath = "/Apps/CSVFileApp/test.csv"; // Dropbox内のファイルパス
string localFilePath = Path.Combine(FileSystem.Current.AppDataDirectory, "test.csv");
System.Diagnostics.Debug.WriteLine($"Local file path: {localFilePath}");
using (var dbx = new DropboxClient(accessToken))
{
Debug.WriteLine($"Attempting to download file from: {dropboxFilePath}");
try
{
// Dropboxからファイルをダウンロード
var response = await dbx.Files.DownloadAsync(dropboxFilePath);
var fileBytes = await response.GetContentAsByteArrayAsync();
// ファイルをローカルに保存
File.WriteAllBytes(localFilePath, fileBytes);
Debug.WriteLine($"File downloaded and saved to: {localFilePath}");
}
catch (Exception ex)
{
Debug.WriteLine("Error downloading file");
// エラーハンドリング
Debug.WriteLine($"Exception: {ex.GetType().Name}");
Debug.WriteLine($"Message: {ex.Message}");
Debug.WriteLine($"StackTrace: {ex.StackTrace}");
}
}
}
private void OnCounterClicked(object sender, EventArgs e)
{
count++;
if (count == 1)
CounterBtn.Text = $"Clicked {count} time";
else
CounterBtn.Text = $"Clicked {count} times";
SemanticScreenReader.Announce(CounterBtn.Text);
}
}
}