[[TOC()]] = [wiki:help/en Cyberduck Help] / [wiki:help/en/howto Howto] / Google Storage = [http://code.google.com/apis/storage/ Google Cloud Storage] is a S3 compatible service with [http://code.google.com/apis/storage/docs/pricingandterms.html pricing] based on usage. Refer also to [wiki:help/en/howto/s3 S3] in general. == Connecting to Google Storage == == Legacy Authentication == You must obtain the login credentials (''Access Key'' and ''Secret'') from the [https://code.google.com/apis/console Google API Console] under ''Legacy Access'' from the Google Cloud Storage tab. In the login prompt of Cyberduck you enter the ''Access Key'' for the username and ''Secret'' for the password. This allows you to connect to one project configured in your account. == OAuth 2.0 Authentication == You must obtain the project ID (`x-goog-project-id`) of your project from the [https://code.google.com/apis/console Google API Console] under ''Storage Access'' from the Google Cloud Storage tab. In the login prompt of Cyberduck you enter the `x-goog-project-id` for the username and enter the ''Authorization Code'' retrieved from the website where you grant Cyberduck acccess to your account. [[Image(OAuth Token.png)]] === Creating a bucket === When connecting the first time, you must first create a new bucket with ''File → New Folder... (⌘-N)''. You can choose the bucket location in ''Preferences (⌘-,) → S3'' The following locations are supported: * US * EU - Europe == Bucket Access Logging == '''You need the latest snapshot build.''' When this option is enabled in the ''Google Cloud Storage'' panel of the Info (''File → Info (⌘-I)'') window for a bucket or any file within, available log records for this bucket are periodically aggregated into log files and delivered to root in the target logging bucket specified. [[Image(Google Storage Access Log Configuration.png)]] == Folders == Creating a folder inside a bucket will create a placeholder object named after the directory, has no data content and the mimetype `application/x-directory`. Directory placeholder objects created in ''Google Storage Manager'' are [https://groups.google.com/group/gs-discussion/browse_thread/thread/fb90359bd714c717/44094e60372427d4#44094e60372427d4 not supported]. == Files == === Metadata === You can edit standard HTTP headers [wiki:help/en/howto/info#MetadataHTTPheaders add] custom HTTP headers to files to store [http://docs.amazonwebservices.com/AmazonS3/latest/index.html?UsingMetadata.html metadata]. Choose ''File → Info → Google Storage'' to edit headers. == ACLs == === Granting access to selected users === You can give access to a specific user to a document by granting `READ` access to the email address registered with Google. The ''Web URL'' from the ''General'' tab in the ''Info'' window with the format `https://sandbox.google.com/storage//` will verify access to the resource using the Google Account login credentials. [[Image(Google Storage ACLs.png)]] Refer also to [http://sudo.ch/2010/08/09/sharing-files-using-google-storage/ Sharing files using Google Storage]. === Granting access to Google Apps domain === Google Apps customers can associate their email accounts with an Internet domain name. When you do this, each email account takes the form username@yourdomain.com. You can specify a scope by using any Internet domain name that is associated with a Google Apps account. === Granting access to members of Google Group === Every Google group has a unique email address that is associated with the group. For example, the Google Storage for Developers group has the following email address: gs-discussion@googlegroups.com. You can find the email address that is associated with a Google group by clicking About this group, which appears on the homepage of every Google group. == Limitations == * No content distribution ([wiki:help/en/howto/cdn CDN]) configuration. * Torrent URLs are not supported. * Signed URLs are not supported. == References == * [http://code.google.com/apis/storage/docs/faq.html Google Storage for Developers Frequently Asked Questions]