Google Reports API v4 将上传 Google Cloud Storage [关闭]

Posted

技术标签:

【中文标题】Google Reports API v4 将上传 Google Cloud Storage [关闭]【英文标题】:Google Reports API v4 to be uploaded Google Cloud Storage [closed] 【发布时间】:2020-05-03 00:09:16 【问题描述】:

我是 Google Cloud Storage 和 Google Analytics API v4 的新手。

我创建了一个 helloworld 应用程序,我在其中添加了 JS 和 CSS 文件。我已经在谷歌存储中上传了相同的内容。 但是 JS 和 CSS 文件不起作用。

这是我到目前为止所做的。

    我创建了一个新项目。 我已生成新服务并将下载的 JSON 文件保存在项目的根目录中。 我创建了一个存储桶。 我正在使用默认应用引擎。

我正在使用 GCConsole 上传项目。上传时,我使用的是旧设置和新属性。最后,当我发出命令 gcloud app console 时,在服务列表中,我没有找到,控制台也没有要求提及存储桶。我已经在我的 php 文件中添加了存储桶。下面我分享了我的文件。

问题

    我已经创建了存储桶,服务 JSON 文件。我正在使用默认应用引擎。我有什么遗漏吗? 是否可以在VM Instance中上传项目并进行测试? VM Instance 和 App Engine 有什么区别? 如何创建和测试正确的 app.yaml 文件? PHP代码中是否必须使用和配置bucket?有其他选择吗? 我没有在我创建的存储桶下找到该项目。我在 App Engine > Source 中找到了它。在存储桶中有 3 个不同的文件夹 是自动创建的。这种方法正确吗? 是否可以使用用户友好的 URL 更新项目 URL? 如何在 Google Storage 中运行 Google Reports API v4 脚本(PHP、Java)? 为什么 JS 和 CSS 文件不起作用?

项目的文件夹结构

\root\
   \vendor\
   \css\style.css
   \js\main.js
   index.php
   app.yaml
   abcde-9c0e6b4e4b6c.json
   composer.json
   composer.lock
   README.md

index.php

<?php 

require 'vendor/autoload.php';

use Google\Cloud\Storage\StorageClient;
use google\appengine\api\cloud_storage\CloudStorageTools;

$projectId = 'projid';
$bucketId = 'buckid';

$storage = new StorageClient([
    'projectId' => $projectId,
    'keyFilePath' => 'abcde-9c0e6b4e4b6c.json',
]);

$gcsBucket = $storage->bucket($bucketId);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <link rel="stylesheet" href="css/style.css">
    <title>GCP PHP</title>
</head>
<body>
    <h1>Welcome to GCP World</h1>
    <div class="p1">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis nihil molestias mollitia iste aliquam placeat quis nobis nesciunt, pariatur ipsa eligendi eveniet ipsam voluptatibus, voluptate eaque alias velit voluptatem id enim sed quisquam praesentium necessitatibus sint. Distinctio nam deleniti, a, eos reprehenderit eligendi, officiis nisi adipisci nostrum et delectus earum.</div>
    <div class="p2">Iure, rerum, inventore! Nulla nesciunt autem, facere eius quas, a ipsum necessitatibus adipisci, reprehenderit eaque fugit debitis dicta voluptates dignissimos quos? Tenetur deleniti impedit excepturi dolorem voluptas, quidem animi ullam! Deserunt eum, modi, eligendi et quam, magni sapiente dolorem porro eaque quibusdam nihil ratione consequuntur amet autem voluptas suscipit, molestiae!</div>
    <div class="p3">Molestias architecto a expedita nostrum, ullam sapiente quia temporibus nesciunt aperiam, asperiores dolor tempore, delectus ipsam sunt? Consequuntur facere reprehenderit nemo voluptatibus ad facilis nostrum temporibus perferendis sequi quasi voluptas, voluptatum repellendus rerum quas repudiandae quidem ipsam eligendi ex numquam sint culpa itaque eum? A saepe deserunt ea asperiores fugiat.</div>
    <div class="footer1"></div>
    <script src="js/main.js"></script>
</body>
</html>

app.yaml

runtime: php73

handlers:
- url: /.*
  script: auto

runtime_config:
    document_root: .

【问题讨论】:

【参考方案1】:

您可以参考文档以获取可能解决您的问题的有用信息。

    Creating config files 用于创建 JSON 配置文件。 您可以将项目上传到存储桶中并创建一个虚拟机实例并从那里下载它。但是你必须创建 部署它的环境。 App Engine 是一种平台即服务,因此基本上您只需在那里编写代码,而平台将负责管理其余部分。 Compute Engine 是一种基础架构即服务。你得到你的虚拟机 实例,而您是管理它的人,因为您拥有计算机。 但是,请检查此 link to another *** thread 在哪里 您可以对此有进一步的解释。 要根据yaml语法创建一个合适的app.yaml文件,你可以到这个页面http://www.yamllint.com/。创造一个合适的 在用于部署应用程序的 Google Cloud Platform 中,您可以拥有 有关文档中元素的信息 app.yaml Configuration File。 您可以通过多种不同方式管理存储桶,请在此文档中查看Uploading objects。 为了回答这个问题,我需要知道您是如何创建存储桶的。 是的,是的。使用custom domain,您可以更改网址。 如果您的意思是这样,则无法从 Storage 运行任何内容。 您缺少handlers,因为使用样式表应该是这样的:
   handlers:
   # Serve a directory as a static resource.
   - url: /stylesheets
     static_dir: stylesheets

【讨论】:

感谢您的回复。您的处理程序解决了我的相关问题。共享 URL 也有帮助。我将分享我如何创建存储桶。还有一些相关的问题。我会一一放置。请查看并回复。再次感谢。 1.我已从控制台 > 创建存储桶创建。有没有其他方法可以在我的项目中添加相同的内容,以便只有这个存储桶可以包含我的所有文件,而不会创建其他 3 个存储桶? 2.自定义 URL 是否需要购买的域?在本地服务器中,比如 WAMP,我们使用 apache 的 httpd.config 文件创建 URL。谷歌云中有这样的事情吗? 3.在我的根文件夹中现在有多个 php 文件,这些文件在菜单中连接。但是上传后只有 index.php 的内容显示在所有页面中。我在处理程序中错过了什么? 4.是否有可能为每个项目创建 App Engine?还是只是所有项目共享的默认版本?

以上是关于Google Reports API v4 将上传 Google Cloud Storage [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Google Sheets API V4 导入 CSV 文件

使用Javascript中的Oauth授权将Google表格API v3迁移到v4之后如何实现makeApiCall()方法

从 Google Sheet API v4 追加数据不再起作用

如何使用Google表格Api V4格式化检索工作表数据

如何绕过Google表格V4 API不返回空单元格

使用 googleAnalyticsR v4 API 包查询多个 Google Analytics 视图 ID