2

Google ドライブで Google サービス アカウントを正常に実装しました。これで、サービス アカウントにファイルをアップロードできます。しかし、自分の Web サイトに埋め込まれた形式でファイルを表示する方法がわかりません。

https://doc-04-0g-docs.googleusercontent.com/docs/securesc/bc8ug145a9ddo935ikfpgr3jg35j66bd/r8o9fi9jati2in6m7ad70ppjqif4dq7n/1381514400000/05451613566453688664/05451613566453688664/0B20JX1z76nY6VjVrUl9rai16TW8?h=16653014193614665626&e=download&gd=true

https://docs.google.com/uc?id=0B20JX1z76nY6VjVrUl9rai16TW8&export=download

https://docs.google.com/file/d/0B20JX1z76nY6VjVrUl9rai16TW8/edit?usp=drivesdk

これらは、アップロードされたファイルのそれぞれ downloadUrl、WebContentLink、および AlternateLink です。これらのリンクをブラウザで開くことができません。ファイルのアップロードに使用されるコードは次のとおりです。

java.io.File fileContent = new java.io.File("E:\\test.txt");
            File fileMetadata = new File();
            fileMetadata.setTitle(fileContent.getName());
            InputStreamContent mediaContent = new InputStreamContent("text/plain", new BufferedInputStream(
                    new FileInputStream(fileContent)));
            mediaContent.setLength(fileContent.length());

            Drive.Files.Insert insert = getDriveService().files().insert(fileMetadata, mediaContent);

            MediaHttpUploader uploader = insert.getMediaHttpUploader();
            uploader.setDirectUploadEnabled(true);
            File file = insert.execute();

ファイル プロパティを public に設定して、Web サイトのすべてのユーザーがログインせずにアクセスできるようにするにはどうすればよいですか? また、ユーザーにこのファイルをダウンロードさせたくありません。

ありがとう

4

2 に答える 2

2

ファイルを埋め込む唯一の信頼できる方法はembedLink、Docs ファイルに埋め込むことです。その他のファイルは強制的にダウンロードされるため、それらを Web ページとして提供するにはプロキシが必要です。

于 2013-10-14T09:25:38.250 に答える
0

AlternateLink は、ドキュメントを開いて表示または編集できるようにするものです。明らかに、アクセス許可を設定する必要があります。アクセス許可の設定は比較的簡単です。

gdrive API リンク

注意してください。これはリストであるため、新しいアクセス許可を挿入し続けないようにする必要があります。googledrive を使用すると、リンクを使用して誰にでも編集または表示を設定できます。(誰でも) このリンクは AlternateLink です。

残念ながら、ユーザーが Google ドキュメント エディタのファイル > ダウンロードからファイルをダウンロードするのを止める方法を見つけることができませんでした。見つけたら教えてください。

ただし、AlternateLink は次のことを提供します。

https://docs.google.com/file/d/0B20JX1z76nY6VjVrUl9rai16TW8/edit?usp=drivesdk

これは時代遅れだと思います。

これを iframe で使用していますが、iframe では Google による URL の修正が許可されていません。

現在の URL (Google は数か月ごとに変更します) は ?usp=drivesdk ではなく ?pl=1 です。そのため、新しいタブでリンクを開くと、Google がこれを修正しますが、iframe で手動で変更する必要があります。

Chrome と残りの部分では動作が異なることに気付くでしょう。?usp=drivesdk は、ほとんどのブラウザーで機能しますが、Google アカウントでサインインしていない場合、Chrome では機能しません。

つまり、AlternateLink を完全に信頼しないでください。URL の一部を書き換える必要がある場合があります。iframe を使用する場合。

于 2013-11-06T14:14:29.600 に答える