認証なしで Javascript の (XHR)を使用して Google ドライブ ファイルにアクセスするには、HTML ページが必要ですXMLHttpRequest
(したがって、ユーザーは Google アカウントでサインインする必要も、Google アカウントを持っている必要もありません)。これらのファイルには、「リンクを知っている全員」の権限があります。これらのファイルは世界中に公開されている (リンクがある) ため、クロスオリジン リソース共有 (CORS) を許可することが問題になる理由がわかりません。
認証が必要なので、それdownloadUrl
は実行可能なオプションではないと思います。私はまたwebViewLink
、ファイルを「ウェブ上で公開」する必要があると推測する. これは私にとっても実行可能なオプションではありません。これらのファイルには「リンクを知っている全員」権限が必要です。最も有望なリンクはhttp://googleappsdeveloper.blogspot.se/2012/08/5-things-you-didnt-know-you-could-do.htmlwebContentLink
によると、パブリックおよび認証されていないアクセスを許可する です。
私が抱えている問題webContentLink
は、CORS に適していないように見えることです。Chrome で XHR を使用しようとすると失敗します (かなり静かに)。ヘッダーは追加しません。
curl
使用した場合と使用--header "Origin: http://www.hello.se"
しない場合の両方を試してみると--header "Access-Control-Request-Method: GET"
、HTTP/1.1 302 Moved Temporarily
有効期間の短いコンテンツ URL にリダイレクトされます。問題は、リダイレクト応答にAccess-Control-Allow-Origin
、CORS を有効にするために必要なヘッダーの兆候がないことです。
これを機能させるために別の方法でできることはありますか?
それ以外の場合は、Google SDK チーム、webContentLink
CORS をパブリック ファイル (Cookie 認証を必要としない) に適したものにできますか?