cURLを使用してファイルをGoogleドライブのサブディレクトリにアップロードする場合は、TCL構文を使用しています。 documentationに基づいて、サブフォルダIDを保持するparent
というプロパティがあります。 "APIセクションを試してください"で正常に動作します。parents
パラメータを削除すると、以下のコードが正常に機能します(ファイルはGDriveのルートフォルダにアップロードされます)。TCLとcURLを使用してGoogleドライブにファイルをアップロード
parents : [{"id" : "0B-b5yS-0xCQjVEcyMm9hYmtqd0k"}]
は、今私は私の現在のコードにこれを適応したいが、それエラーが発生します。
これは、パラメータがドキュメントに基づいてのようになります方法です。私は問題がTCLの構文に関連していると思っていますが、私は言語に精通していないので、時間を費やしてしまった今、完全に失われました。&エラーが働いています。私がやろうとしているのは、parent
フォルダリストでさえ、メタデータに必要なすべての値を保持するパラメータfileMetaData
を設定することです。さらに、最後のcURLステートメントを格納するパラメータcurlCommand
を定義します。その中でcurlCommand
私はfileMetaData
を提供し、最後にeval execステートメント内のcURLでコマンドを実行します。 私はそれが置換に関連していると思いますか?しかし、私は本当に失われています。私は二重引用符で、中括弧と大括弧の前にバックスラッシュでも試してみました。私はいつもエラーが出ます。
これは、現在のコードです:
set fileMetaData "metadata={name : '$backupFile', title : '$fileName', \
description : 'Backup file from $today', \
parents : [{id : '0B-b5yS-0xCQjVEcyMm9hYmtqd0k'}] }"
set curlCommand "-H \"GData-Version: 3.0\" \
-H \"Authorization: Bearer $accessToken\" \
-F \"$fileMetaData;type=application/json;charset=UTF-8\" \
-F \"[email protected]$backupFile\" \
https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart"
catch { eval exec /usr/local/addons/prtz/curl -k $curlCommand}
コードを実行している間、私は取得エラーメッセージは次のとおりです。
invalid command name "id: '0B-b5yS-0xCQjVEcyMm9hYmtqd0k'"
while executing "{id: '0B-b5yS-0xCQjVEcyMm9hYmtqd0k'}"
多分重要:私は厳密にどのなしのネイティブTCL 8.2を使用する必要があります追加ライブラリ(JSONサポート用) 解決方法を理解するのに役立つ入力があれば感謝します。
ありがとうございました。
8.2は長いサポート外の大幅です(別のオプションは、
subst -nocommands
だろうが、この場合のために、私はformat
が滑らかな印象だと思います。):この場合、あなたはまた、format
を使用してメタデータを構築することができます。 –私は知っていますが、影響を与えることはできません。まだ2017年にもこのバージョンのハードウェアを提供しているメーカーがあります。 –