A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No3です
No3だと仮想のHTMLオブジェクトが対象かもしれないので・・・
このあたりも参考になるのではないかと思います。
(こちらではテストできないので、外しているかもしれませんが…)
https://tonari-it.com/gas-button-event-javascript/
https://tonari-it.com/gas-web-app-google-script- …
https://nmmmk.hatenablog.com/entry/2018/10/14/00 …
No.3
- 回答日時:
No2です
少し時間があったので、ちょっとだけ調べてみましたが、GASでもdocumentオブジェクトの利用が可能なようです。
https://tonari-it.com/gas-document-get/
https://qiita.com/Rihoritsuko/items/a520a7093846 …
このdocument上で、通常のDOM操作が可能かどうかまでははっきりしませんが(私は試してみることができないのですが)、なんとなくできそうな気がしますけれど・・・
回答ありがとうございます。
function logDocument() {
const DOC_URL = '*****コピーしたドキュメントのURL*****';
const doc = DocumentApp.openByUrl(DOC_URL);
console.log(doc.getName());
console.log(doc.getBody().getText());
}
---以下の行でそれぞれエラー
const doc = DocumentApp.openByUrl(DOC_URL);
・Google スプレッドシート
エラー:Exception: Document is missing (perhaps it was deleted, or you don't have read access?)
・Google テキストファイル
エラー:Exception: Invalid argument: url
・Google ドライブ内の動画の共有リンク
エラー:Exception: Invalid argument
・Web上のMP4動画
エラー:Exception: Invalid argument: url
・Google ドキュメント
正常終了
Google ドキュメント のみ “ファイル名” と “本文” が表示されました。
No.2
- 回答日時:
No1です
>ReferenceError: document is not defined
あらら・・
もしかするととは思いましたが、GASにはDOMが存在しないのかなぁ?
GASの場合は、スクリプトはサーバサイドで実行されているのでしょうか?
GoogleMAPのAPIなどだと、HTML上で実行されるので、それと同じではないかと期待したのですが…
No1のスクリプトは、通常のHTML上でDOMに
<video>
<source src="対象mp4" />
</video>
を生成することで、読み込ませてメタデータからサイズを取得するものです。
>全体の秒数は、どの変数に入るのでしょうか?
video.duration です。
(durationはプロパティなので、「()」は不要です)
DOMが利用できないようですので、ファイルを直接読み込んで解析するとか、面倒なことになってしまいそうですね。
あるいは、ブラウザのdocumentにアクセスする方法があれば、No1の方法が使えるのではないかと思いますが、GASを存じていませんので、そのあたりのGASの根本がわかりません。
ユーザ定義の外部関数などは、document上で処理されたりしてはいないのでしょうか?
あるいは、通常のスクリプトと連携させる方法などは用意されていないのでしょうか?
そのあたりに関しては、まったく知識がないので、あまりお役に立てそうにもありません。
失礼いたしました。
GAS のYouTubeをあげてる人に手あたり次第、質問を投げてみたところ、いくつか返信がつきました。
https://www.youtube.com/attribution_link?a=5ZcPL …
> 私も取り扱ったことはないのですが、恐らくgoogleVideoIntelligence APIなどの動画を解析できるサービスのAPIと連携できるかと思います。
https://www.youtube.com/attribution_link?a=TD27Q …
> Google Driveに一旦ダウンロードすれば可能ですが、URLから直接長さを取得するのは無理そうな気がします。 ちなみYouTubeの動画ならYouTubeのAPIで動画の長さを取得できます。
https://www.youtube.com/attribution_link?a=iGtfW …
> GASというよりJS周りの話になるかと思います!
> https://shanabrian.com/web/javascript/video-dura …
No.1
- 回答日時:
こんばんは
動画要素が取得できていれば、durationプロパティで全体の秒数を取得できると思われますが、動画自体を読み込むのには時間がかかる可能性があります。
https://developer.mozilla.org/ja/docs/Web/HTML/E …
durationプロパティが取得できない場合はダメですが、一応、以下でテストしてみたところ、設定されていれば取得できるものと思います。
(メタデータの読込みを待ちますので、数秒程度かかるかもしれません。)
以下は、Apps Scriptの機能は全く利用していませんけれど・・・
(私が、Apps Scriptの機能を知りませんので)
const src = 'https://hogehoge.mp4'; // ←mp4のURL
const video = document.createElement('video');
video.preload = true;
video.addEventListener('loadedmetadata', ()=>{ alert( video.duration ); });
video.innerHTML = '<source src="' + src + '" type="video/mp4" />';
回答ありがとうございます。
const video = document.createElement('video'); の行で次のエラーが出ます。
ReferenceError: document is not defined
全体の秒数は、どの変数に入るのでしょうか?
video.duration() でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 【Google Apps Script】「ライブラリ」が追加できなくて困っています。 1 2022/11/10 13:29
- その他(スマートフォン・携帯電話・VR) “スマホ” は、何が出来るんだ? 4 2022/04/13 20:12
- JavaScript Google reCAPTCHAについて 1 2023/02/22 14:37
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- フリーソフト .264という動画ファイル 2 2022/07/12 11:30
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- ノートパソコン gifアニメ―ションを動画(mp4でOK)にしたい 1 2022/08/14 09:51
- ニコニコ動画 お勧め、高画質・高音質、有料web録画ソフトをご紹介下さい。 2 2022/11/22 20:31
- iPhone(アイフォーン) iphoneで撮影した写真、動画を連番のファイル名で保存したい。 1 2022/04/28 02:12
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
ListView 項目の選択/選択解除...
-
count(*)で取得した値をJAVAの...
-
ListViewで複数選択された項目...
-
JSP+Servletでのページングの常識
-
JavaScriptでWindowsログオンID...
-
データ数をカウントしたいのですが
-
getParameter と getAttribut...
-
Excel VBA でログインしてい...
-
時間を分に変換するプログラム
-
Flexgridで選択行の列の値を取...
-
VBAで期間が何か月間なのかを取...
-
リクエストからArrayListのデー...
-
C言語におけるコンピュータ名・...
-
URIでのページの移動について
-
jsの変数をpostしたい
-
JTableクリック時の処理
-
利用者側のMACアドレスを取得し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
count(*)で取得した値をJAVAの...
-
データ数をカウントしたいのですが
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
ListView 項目の選択/選択解除...
-
Flexgridで選択行の列の値を取...
-
getParameter と getAttribut...
-
like演算子内に変数って使えな...
-
ListViewで複数選択された項目...
-
JavaScriptでWindowsログオンID...
-
時間を分に変換するプログラム
-
エクセルVBAで複数選択できるよ...
-
Spreadの選択行の取得について
-
JavaScriptにおいてコンピュー...
-
コンボボックス表示文字列を取...
-
VBA リストボックス内の値を複...
-
利用者側のMACアドレスを取得し...
-
「Excel VBA」 Webクエリ マク...
-
EXCELのリストボックスを選択し...
おすすめ情報
"openByUrl" でオープンできるファイルは決まっているようですね。
Search results for "openByUrl" | Google Developers
https://developers.google.com/s/results/apps-scr …
Class SpreadsheetApp | Apps Script | Google Developers
https://developers.google.com/apps-script/refere …
スプレッドシートを取得するには、SpreadsheetApp.openByUrl(URL);
となるようですね。スプレッドシートのファイル名を取得できました。