{"id":54599,"date":"2017-02-25T02:19:20","date_gmt":"2017-02-25T02:19:20","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/gcs\/"},"modified":"2020-09-02T00:00:20","modified_gmt":"2020-09-02T00:00:20","slug":"gcs","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/gcs\/","author":126504,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.1.6","stable_tag":"0.1.6","tested":"5.5.18","requires":"","requires_php":"5.5","requires_plugins":"","header_name":"Google Cloud Storage plugin","header_author":"Google Inc","header_description":"","assets_banners_color":"","last_updated":"2020-09-02 00:00:20","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/wordpress.org\/plugins\/gcs\/","header_author_uri":"http:\/\/cloud.google.com\/","rating":2.7,"author_block_rating":0,"active_installs":300,"downloads":73229,"num_ratings":7,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.1":{"tag":"0.1.1","author":"google","date":"2017-02-25 02:30:46"},"0.1.2":{"tag":"0.1.2","author":"google","date":"2017-02-26 10:43:37"},"0.1.3":{"tag":"0.1.3","author":"google","date":"2017-06-23 23:32:33"},"0.1.4":{"tag":"0.1.4","author":"google","date":"2018-08-30 21:29:28"},"0.1.5":{"tag":"0.1.5","author":"google","date":"2020-02-01 00:18:14"},"0.1.6":{"tag":"0.1.6","author":"google","date":"2020-09-02 00:00:20"}},"upgrade_notice":[],"ratings":{"1":3,"2":1,"3":0,"4":1,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1604875,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1604875,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.1","0.1.2","0.1.3","0.1.4","0.1.5","0.1.6"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[150,62873],"plugin_category":[],"plugin_contributors":[77880],"plugin_business_model":[],"class_list":["post-54599","plugin","type-plugin","status-publish","hentry","plugin_tags-google","plugin_tags-google-cloud-storage","plugin_contributors-google","plugin_committers-google"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/gcs\/assets\/icon-128x128.png?rev=1604875","icon_2x":"https:\/\/ps.w.org\/gcs\/assets\/icon-256x256.png?rev=1604875","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Google Cloud Storage plugin allows you to upload media files to a\nGoogle Cloud Storage bucket.<\/p>\n\n<!--section=installation-->\n<ol>\n<li><p>Download the plugin and place it in your <code>\/wp-content\/plugins\/<\/code> directory.<\/p><\/li>\n<li><p>Enable this plugin in the WordPress admin UI,<\/p><\/li>\n<li><p>Configure your Google Cloud Storage bucket in the plugin setting\nUI.<\/p><\/li>\n<li><p>In Google Cloud Console, set the default acl of the bucket so that\n   allUsers can read.<\/p><\/li>\n<\/ol>\n\n<p>Depending on your environment, you may need to configure a Google\nService Account to call the APIs.<\/p>\n\n<p>To run this plugin on <strong>Google App Engine for PHP 7.2<\/strong>, it will work\nwithout additional configuration.<\/p>\n\n<p>To run this plugin on <strong>Google Compute Engine<\/strong> or <strong>App Engine Flexible<\/strong>,\nyou will need to do the following:<\/p>\n\n<ul>\n<li><p>Visit Cloud Console, go to <code>Compute<\/code> -&gt; <code>instances<\/code> and select\nthe instance where WordPress is running.<\/p><\/li>\n<li><p>Stop the instance.<\/p><\/li>\n<li><p>Once the instance has stopped, click <strong>Edit<\/strong> and you can now\nmodify the scopes under <strong>Cloud API access scopes<\/strong>. Change\nthe Storage scope from <strong>Read Only<\/strong> to <strong>Full<\/strong>.<\/p><\/li>\n<\/ul>\n\n<p>If you want to run this plugin outside of Google Cloud Platform, you\nneed to configure your service account as follows:<\/p>\n\n<ul>\n<li><p>Visit Cloud Console, go to <code>IAM &amp; Admin<\/code> -&gt; <code>Service accounts<\/code>\nand create a service account with <code>Storage Object Admin<\/code>\npermission and download the json key file.<\/p><\/li>\n<li><p>Upload the json key file to the hosting server. Don't put it\nin a public serving area.<\/p><\/li>\n<li><p>Add the following line to wp-config.php (replace the file path\nwith the real one).<\/p>\n\n<p><code>putenv('GOOGLE_APPLICATION_CREDENTIALS=\/secure-place\/my-service-account.json');<\/code><\/p><\/li>\n<\/ul>\n\n<!--section=faq-->\n<p>Q. The plugin crashes with <code>No project ID was provided, and we\nwere unable to detect a default project ID<\/code>, what's wrong?<\/p>\n\n<p>A. See the section about configuring the service account in the\n    Installation section.<\/p>\n\n<p>Q. How to configure the default ACL on my Google Cloud Storage bucket?<\/p>\n\n<p>A. See: https:\/\/wordpress.org\/support\/topic\/google-storage-not-work\/page\/2\/#post-8897852<\/p>\n\n<!--section=changelog-->\n<h4>0.1.6<\/h4>\n\n<ul>\n<li>Updates all dependencies<\/li>\n<\/ul>\n\n<h4>0.1.5<\/h4>\n\n<ul>\n<li>Updates all dependencies<\/li>\n<li>Adds HTTP header for tracking WordPress and plugin version<\/li>\n<\/ul>\n\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Uses the most recent release of the Google Cloud Storage client library<\/li>\n<li>Updates all dependencies<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Added a section for configuring service account to the readme<\/li>\n<li>Added Frequently Asked Questions section to the readme<\/li>\n<li>Updated dependencies<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Added \"Tested up to\" field to the readme<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Bundle vendor dir in the zip file<\/li>\n<\/ul>\n\n<h4>0.1<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"A plugin for uploading media files to Google Cloud Storage.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/54599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=54599"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/google"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=54599"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=54599"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=54599"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=54599"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=54599"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=54599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}