したがって、基本的にタスクは非常に単純ですが、私の問(wèn)題に対する実行可能な解決策は見(jiàn)つかりませんでした。私の Web サイト (現(xiàn)在は localhost) に巨大なアップロード スクリプトがありますが、すべての複雑さを必要なものだけに減らしましょう。
つまり、Google App Script を使用して 1 つのファイルを Google ドライブにアップロードし、その URL を受け取って var に保存し、後でその情報(bào)を関數(shù)で使用できるようにしたいと考えています。
問(wèn)題は、Web サイトにすでにフォームがあることです。追加の HTML として script.google .com 內(nèi)にフォームを追加したくないのですが、それをユーザーに送信します。入力は Google App Script に転送され、Google ドライブにアップロードされ、var に保存できる Web サイトへの URL が返されます。
今の問(wèn)題は、すべてをまとめられないことです。
これは私のウェブサイトのフォームです (簡(jiǎn)略化):
リーリーでは、Google ドライブに情報(bào)をアップロードして結(jié)果を取得するにはどうすればよいでしょうか? iFrame などを使用せずに Google App Script からデータをプッシュするにはどうすればよいですか?
###ありがとう!**** HTML が script.google .com にある場(chǎng)合の実際の例 ****
GS
リーリー apps.googlescript の
htmlリーリー
提案どおり、ここでプロセスを説明します。Web サイト www.example.com には、テキスト入力フィールドとファイル フィールドのあるフォームがあります。畫(huà)像を入力し、それを例としてみましょう。ここで、送信を押すと、oAuth を使用せずに畫(huà)像を Google ドライブにアップロードし (そのため、ここでは Google App Script が必要です)、テキスト フィールドに入力した名前を付けます。アップロードが完了したら、フォームでその情報(bào)を引き続き使用できるように、Google ドライブ畫(huà)像の URL を Web サイトに返したいと考えています。返された URL を var に保存し、後でデータベースに保存したいと考えています。そのため、結(jié)果を自分の Web サイトに返す必要があります。
したがって、解決策は次のとおりです:
Web サイト上のフォームに情報(bào)を入力します -> Google アプリ スクリプトにリダイレクトします: Web サイトのフォーム フィールドの情報(bào)を取得し、ファイルを Google ドライブにアップロードし、テキスト入力エントリという名前を付けます -> Google ドライブの URL を次のように変更します最終結(jié)果 -> 最終 URL 結(jié)果を Web サイトにリダイレクトします -> URL 結(jié)果を var に保存し、Web サイト上の関數(shù)からの操作を続行します -> 最後に var の情報(bào)をデータベースに保存します ->仕上げる ###
------------------------------------------------- - - - - - - - - - - 編集: - - - - - - - - - ###
@Tanaike のおかげで、チャレンジの目標(biāo)に近づいたので、どこで行き詰まったかを確認(rèn)するために、今質(zhì)問(wèn)をコピーしています:あなたの例のスクリプトを使用してフォームを取得しました:
リーリー
Google スクリプトの場(chǎng)合:リーリー
今、何かをアップロードしようとすると、次のエラーが表示されます: CORS ポリシーを取得できませんでした。そこで、この部分を次のように変更し、no cors モードを追加しました:リーリー
これはうまくいきます。ファイルをアップロードしようと 2 回目に試行すると、次のエラーが発生します。構(gòu)文エラー: 予期しない入力の終わりです
そこで、この行を変更し、res.json から括弧を削除しました。
リーリー
実際に有効なファイルをアップロードする 3 回目の試行では、コンソールの結(jié)果は次のようになります:
しかし、Google ドライブにはアップロードされたファイルがありません。どこかで何かが欠けています。フォルダーを作成してそこにファイルを置くとよいかもしれません。
ああ、もう 1 つの情報(bào): Google アプリ スクリプトで doPost 関數(shù)を?qū)g行すると、次のように表示されます:
リーリー編集 2----------------------------------------------- --- --------
https://drive.google .com/uc?export=download&id=
fileIdをコードに追加しましたが、すべて正常に動(dòng)作します。ファイルをアップロード中です。
ファイル test.mp3 をアップロードし、testdata という名前を付けるとします。 これが私たちが受け取ったものです:
リーリーファイルの URL を開(kāi)くと、ブラウザはファイルをダウンロードしますが、その名前は testdata.mp3 ではなく testdata です。ファイルタイプの末尾がありません。
2 番目のタスク: リンクをクリックしたら、ブラウザでファイルを開(kāi)きます。たとえば、mp3 ファイルの場(chǎng)合は、次のように Web ビューでサウンドを再生します。 https: / /files.freemusicarchive .org/storage-freemusicarchive-org/music/Creative_Commons/Dead_Combo/CC_Affiliates_Mixtape_1/Dead_Combo_-_01_-_Povo_Que_Cas_Decalo.mp3
ご指導(dǎo)いただければ幸いです。 ######https://stackoverflow.com/a/63391363/1585523 回答には役立つヒントがたくさんあります。共有していただきありがとうございます。 POST ファイルに加えて、
も使用できます。クライアント上:index.html
リーリーサーバー上: Code.gs
リーリーこのメソッドを使用して、バイナリ情報(bào)を値として持つ JS オブジェクトなどの複合型を交換することもできます。
あなたの目標(biāo)は次のとおりだと思います。
この場(chǎng)合、Google Apps Script を使用して作成された Web アプリケーションで目的を達(dá)成できると思います。
###使用法:###Web Apps のサンプル スクリプトは Google Apps Script です。そこで、Google Apps Script プロジェクトを作成します。
https://script.new/
にアクセスしてください。この場(chǎng)合、まだ Google にログインしていない場(chǎng)合は、ログイン畫(huà)面が開(kāi)きます。そこで、Google にログインしてください。これにより、Google Apps Script スクリプト エディタが開(kāi)きます。###2。スクリプトを準(zhǔn)備します。 次のスクリプト (Google Apps Script) をコピーして、スクリプト エディターに貼り付けてください。このスクリプトは Web アプリケーションに適しています。
ファイルを配置するフォルダーIDを設(shè)定してください。
リーリー ###3。 Web アプリケーションを展開(kāi)します。スクリプト エディターで、[公開(kāi)] -> [Web アプリとして展開(kāi)] を選択してダイアログ ボックスを開(kāi)きます。
Google Apps Script を変更した後は、新しいバージョンに再デプロイしてください。このようにして、変更したスクリプトが Web Apps に反映されます。ご注意ください。
###結(jié)果:###
上記のスクリプトを?qū)g行すると、以下の値が返されます。ここから、ファイルの URL を取得できます。