クラウドストレージとしてとても便利なOneDriveは、オフィスワークには欠かせません。場所を選ばないクラウドサービスならではの使いやすさと、専門知識は不要で十分なセキュリティーを担保してくれますのでテレワークにも最適です。今回は様々なOneDriveへのファイルのアップロード方法を紹介します。
目次
デスクトップアプリケーションから
Windows10にはOneDriveアプリケーションが最初からインストールされていますので、サインインするだけですぐに利用可能です。個人利用のOneDrive、Microsoft365のOneDrive Business、SharePointのドキュメントファイルにアクセス可能です。
サインイン後、ファイルエクスプローラーから直接参照可能となります。設定メニューからアカウントを追加すると個人アカウントの OneDriveも同時に表示することができます。タスクバー右隅には、Microsoft365のOne Drive for Businessは青い雲のアイコン、個人アカウントは白い雲のアイコンが表示されます。
さらにSharePointサイトのドキュメントから「同期」を選択すると、ファイルエクスプローラーからOneDriveの操作が可能となります。
SharePointのドキュメントもファイルエクスプローラーから操作可能に。
ファイルエクスプローラーに表示されていれば、デスクトップのファイルと何ら変わらずファイルのアップロードが簡単にできます。
ブラウザから
もちろんブラウザからもアクセスができます。デスクトップから直接ドラッグ&ドロップでファイルアップロードが可能です。
Teamsから
Teamsアプリケーションからもアクセス可能です。
TeamsのチームからはSharePointのドキュメントを参照することになります。
左メニューのファイルからは個人のOneDrive for Businessを参照可能です。
スマートフォンアプリから
Android、iPhoneどちらのスマートフォンアプリからも利用できます。移動中にファイルのチェックや、撮影した写真をすぐにOneDriveにアップロードして、仲間と情報交換といったモバイルならではの使い方ができます。
Power Automateから
Power Automateからはもちろん、OneDriveのコネクタが利用できますので、簡単にファイルアップロードのフローが作成できます。
Power Appsから
以前利用した、Power AutomateとPower Appsの連携でファイルをアップロードしてみましょう。
Power Automate側はこのようになります。OneDriveのアクションで指定する「ファイル名」には
triggerBody()?['file']?['Name']
こちらの式を設定します。
Power Apps側は前回も利用した「添付ファイルコントロール」を配置して、アップロードボタンには
ForAll(
DataCardValue3.Attachments,'OneDrive-ファイルアップロード02'.Run(
{file:{
contentBytes:Value, name:Name
}
}
)
)
こちらの式を設定します。
For~Allを利用して複数のファイルのアップロードに対応しています。
添付したファイルの内容を表示するために、「挿入」メニューから「ギャラリー」の縦型を選択します。
Itemsに
DataCardValue3.Attachments.Value
を設定します。
ギャラリーに表示するのは、「添付ファイルコントロール」でアップされたファイルになります。
Imageには
ThisItem.Value
を設定して、Image以外は全て非表示にしておきます。
ここまで出来たら実行してみましょう。
添付したファイルが画像の場合はサムネイルが表示されます。
アップロードボタンを選択すると画像もテキストファイルもアップロードされました。
HTTPリクエストから
Power AutomateにはAPIとしてHTTPリクエストを受け付けることができるトリガーとして「HTTP 要求の受信時」が用意されています。こちらを利用すると、外部からのHTTPリクエストでOneDriveにファイルをアップロードすることができます。
フロー全体はこのようになります。
「要求本文の JSON スキーマ」には
{
"type": "object",
"properties": {
"fileName": {
"type": "string"
},
"contents": {
"type": "string"
}
}
}
こちらを設定します。
リクエストで受け取るのは、ファイル名とBase64にエンコードされたファイルのデータとなります。
「ファイルコンテンツ」には
base64ToBinary(triggerBody()?['contents'])
を設定します。
Base64の文字列で受け取ったファイルデータをバイナリデータに変換して、アップロードするファイルの仕様に適合させています。
最後に、一番上の「HTTP POST の URL」をコピーしておきます。このURLがAPIの窓口となります。
ここまで出来たら保存しておきましょう。
では実際にこのAPIを呼び出すコードを作成します。HTTPリクエストを実行出来れば言語は問いません。今回はPowerShellです。
変数 $Url には先ほどコピーした「HTTP POST の URL」を設定します。
コードの内では、APIの仕様に合わせてアップロードするファイルをいったんBase64のテキスト形式に変換してPOSTしています。
$FilePath = "C:\Users\Administrator\Documents\test.txt"
$FileName = Split-Path $FilePath -Leaf
$Url = "取得したHTTP POST の URL"
$FileToBase64 = [Convert]::ToBase64String([System.IO.File]::ReadAllBytes($FilePath))
$PostText = @{fileName=$FileName; contents=$FileToBase64} | ConvertTo-Json -Compress
$PostBody = [Text.Encoding]::UTF8.GetBytes($PostText)
Invoke-RestMethod -Method POST -Uri $Url -Body $PostBody -ContentType application/json
実行してみましょう。
成功しました!
以上、 OneDrive へのファイルのアップロードをアレコレと紹介しました。これだのアプローチ方法が用意されているので、利用シーンに合わせて様々に使い分けることができます。移動中でもテレワークでも、業務の自動化でもOneDriveにアクセスできるので働き方改革には必須のサービスとなっています。クラウドストレージとしてのOneDriveはPower AutomateやPower Apps、他のクラウドサービスや、オリジナルのアプリケーションと組み合わせて工夫次第では立派な業務システムの構築もできそうです。
著書の紹介欄
Hyper-Vで本格的なサーバー仮想環境を構築。仮想環境を設定・操作できる!
できるPRO Windows Server 2016 Hyper-V
◇Hyper-Vのさまざまな機能がわかる ◇インストールからの操作手順を解説 ◇チェックポイントやレプリカも活用できる Windows Server 2016 Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。 本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。
初めてのWindows Azure Pack本が発売
Windows Azure Pack プライベートクラウド構築ガイド
本書は、Windows Azure PackとHyper-Vを利用し、企業内IaaS(仮想マシン提供サービス)を構成するための、IT管理者に向けた手引書です。試用したサーバーは、最小限度の物理サーバーと仮想マシンで構成しています。Windows Azure Packに必要なコンポーネントのダウンロード、実際にプライベートクラウド構築する過程を、手順を追って解説しています。これからプライベートクラウドの構築を検討するうえで、作業負担の軽減に役立つ一冊です。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(417)
-
イベント(155)
-
カルチャー(35)
-
デザイン(15)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- Designship
- DevSecOpsThon
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOデジキッズ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kids VALLEY
- LLM
- MetaMask
- MySQL
- NFT
- NVIDIA
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- ゆめみらいワーク
- リモートワーク
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
PICKUP