2012-05-08 18 views
0

ドキュメントAPIを使用して(pgp)ファイルをアップロードし、その公開番号を 公開に変更しました。ただし、そのファイルのコンテンツリンクを公開して公開することはできません。 Googleドキュメントの公開されているファイルにリンクを(API経由で)ダウンロードします。

質問のファイルのメタデータの関連するビットは次のとおりです。

$ curl -H "GData-Version: 3.0" -H "Authorization: Bearer ..." https://docs.google.com/feeds/default/private/full 

... 
    <content type="application/pgp-encrypted" src="https://doc-0c-c0-docs.googleusercontent.com/docs/securesc/tkl8gnmcm9fhm6fec3160bcgajgf0i18/opa6m1tmj5cufpvrj89bv4dt0q6696a4/1336514400000/04627947781497054983/04627947781497054983/0B_-KWHz80dDXZ2dYdEZ0dGw3akE?h=16653014193614665626&amp;e=download&amp;gd=true"/> 
... 
    <gd:feedLink rel="http://schemas.google.com/acl/2007#accessControlList" href="https://docs.google.com/feeds/default/private/full/file%3A0B_-KWHz80dDXZ2dYdEZ0dGw3akE/acl"/> 

$ curl -H "GData-Version: 3.0" -H "Authorization: Bearer ..." https://docs.google.com/feeds/default/private/full/file%3A0B_-KWHz80dDXZ2dYdEZ0dGw3akE/acl 

... 
    <entry gd:etag="W/&quot;DUcNRns4eCt7ImA9WhVVFUw.&quot;"> 
    <id>https://docs.google.com/feeds/id/file%3A0B_-KWHz80dDXZ2dYdEZ0dGw3akE/acl/default</id> 
... 
    <gAcl:role value="reader"/> 
    <gAcl:scope type="default"/> 
... 

役割/スコープは、問題のファイルに対して返さそれが公開されて 示す、reader/defaultです。 (それはまた、ウェブUIの公共の共有アクセスで表示されます。)

をしかし、コンテンツ要素の結果で src属性にアクセス:

$ curl --verbose 'https://doc-0c-c0-docs.googleusercontent.com/docs/securesc/tkl8gnmcm9fhm6fec3160bcgajgf0i18/opa6m1tmj5cufpvrj89bv4dt0q6696a4/1336514400000/04627947781497054983/04627947781497054983/0B_-KWHz80dDXZ2dYdEZ0dGw3akE?h=16653014193614665626&e=download&gd=true' 

< HTTP/1.1 401 Unauthorized 
< Server: HTTP Upload Server Built on May 7 2012 18:16:42 (1336439802) 
< WWW-Authenticate: GoogleLogin realm="http://www.google.com/accounts" 
< Date: Tue, 08 May 2012 22:48:37 GMT 
< Expires: Tue, 08 May 2012 22:48:37 GMT 
< Cache-Control: private, max-age=0 
< Content-Length: 0 
< Content-Type: text/html 
+0

Claudioは以下の点を指摘しているため、Google docs/driveでは_public_直接ダウンロードリンクを許可していません。 – kbs

答えて

1

ドキュメントを公開しようとしているように思え:https://developers.google.com/google-apps/documents-list/#publishing_documents_by_publishing_a_single_revision

「http://schemas.google.com/docs/2007#publish」に設定されたrelのリンクは、ウェブ上の公開されたドキュメントを指します。

+0

ありがとうございます。しかし、私はドキュメントを公開しようとしているわけではなく、未解釈のファイルへの直接のダウンロードリンクを取得しようとしています(上記の例のmime-typeはドキュメントではありません)。 google docs/driveでは許可されていませんか? – kbs

+0

直接ダウンロードは、リクエストが承認されたときにのみ許可されます。 –

+0

ファイルを一般公開するには、StackOverflow [answer](http://stackoverflow.com/questions/8084338/java-google-api- publish-a-document/10036474#10036474)。これにより、ファイルは世界中で利用可能になります。これが完了したら、Documents List APIからファイルのWeb URLを取得できます( 'rel =" alternate "'でリンクを探します)。 – Alain

0

私はこの答えは、あなたがしたい場合は、ファイルをスキャンしないように、クエリ文字列オプション&confirm=no_antivirusを使用して例えばhttps://stackoverflow.com/a/11855448/1626594

https://docs.google.com/uc?export=download&id={fileId} 

または

https://docs.google.com/uc?id={fileId} 

を助けるかもしれないと考えています。

ソース:youtubeとその回答が記載されていますが、これについてGoogleからのドキュメントはありませんでした。

関連する問題