2016-06-21 57 views
4

我正在使用Google雲端存儲上傳圖片。我現在正在從雲端控制檯進行測試。 當我上傳圖片,如果我檢查公開共享複選框獲取公共鏈接,我(顯然)得到一個公共可訪問的url,這是:https://storage.googleapis.com/bucket_name/pictureName取消選中Google雲端存儲公共鏈接不會失效

然後,如果我取消公開分享複選框,它發出請求

Request URL:https://clients6.google.com/storage/v1_internal/b/bucketName/o/pictureName.jpg/acl/allUsers?key=AIzaSyCI-yuie5UVOi0DjtiCwWBwQ1djkiuo1g 
Request Method:DELETE 

請求順利,但公衆依然網址公開訪問。我認爲這段時間有效,但一小時後仍然可用。 那麼,刪除公開網址的正確方法是什麼?我公開後如何限制對存儲文件的訪問?

回答

2

請參閱cache control and consistency的相關文檔。特別是:

注意:如果您未指定緩存生存期,則可公開訪問的對象最多可緩存60分鐘。

所以我猜這是按預期工作,你的對象被緩存。你有沒有試過等一會兒?

+1

確實在一段時間後,它變得不可用。 –

2

Sharing your data publicly中,顯示有2種方法可以公開停止共享對象。

  1. 取消選中共享的複選框正如您已經提到的。
  2. 編輯對象權限並刪除ID爲allUsers的條目。

你仍然能夠公開訪問對象的原因的確是因爲@jterrace提到的緩存。引用的Cache control and consistency文章解釋了這種最終一致性的影響。

可以通過公開共享對象並立即取消共享來測試此行爲。在大多數情況下,該對象將在緩存持續時間內公開訪問。可以通過指定Cache-Control標題(例如max-age)來縮短此持續時間。

相關問題