小编Mic*_*ael的帖子

类型错误:未定义不可迭代(无法读取属性 Symbol(Symbol.iterator))

只是试图呈现从我的后端获得的项目列表,但收到此错误表明它未定义。但是,当我检查控制台日志时,我可以看到该组件的状态在数组中肯定有 5 个项目。

class PubSubTopics extends React.Component{
    constructor(props){
        super(props);
        this.state = {
            pubsubtopics: ['one', 'two', 'three'],
        }
    }

    componentDidMount() {
        this.callBackEndAPI()
            .then(res =>
                this.setState({pubsubtopics: res.express}))
            .catch(err => console.log(err));
        console.log('after setting state');
        console.log(this.state.pubsubtopics);
    }


    callBackEndAPI = async () => {
        const response = await fetch('/listtopics');
        const body = await response.json();

        if(response.status !== 200){
            throw Error(body.message)
        }
        console.log('after API responded');
        console.log(body.topics);
        return body.topics;
    }
    render(){
        const list = [];
        for(const[index, value] of this.state.pubsubtopics){
            list.push(<li key={index}>{value}</li>)
        }
        return(
            <div>
                <ul>
                    {list}
                </ul>
                <button …
Run Code Online (Sandbox Code Playgroud)

reactjs

10
推荐指数
3
解决办法
9万
查看次数

与Google Apps脚本一起使用

有没有人尝试将R​​eact前端部署到Google Apps脚本网络应用程序?我正在尝试构建一个调用某些Google Apps脚本API的单页前端,例如获取驱动器文件列表并将一些结果保存到电子表格中.但是,所有React文档似乎都假设我使用的是Node.js后端,并且不太关注自定义构建/部署情况.如果您已经看到React with Google Apps Script的简单问候世界,我们将不胜感激!谢谢.

google-apps-script reactjs

7
推荐指数
2
解决办法
3244
查看次数

需要帮助格式化Google API的日期时区

我从bigquery记录中检索了一个日期时间(使用google.cloud.bigquery库),需要根据此api方法的'startTime'参数将其发送到rfc 3339格式的google admin sdk reports API .API期望datetime看起来像这样:

2010-10-28T10:26:35.000Z

通常可以通过创建没有tzinfo的python datetime并调用isoformat来实现这一点:

>>> now = datetime.utcnow()
>>> now = now.isoformat("T") + "Z"
>>> now
'2017-06-01T13:05:32.586760Z'
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是来自BigQuery的时间戳包含一个tzinfo对象,这导致isoformat返回Google API无法处理的文本.

>>> timestamp_from_bigquery
'datetime.datetime(2017, 5, 31, 16, 13, 26, 252000, tzinfo=<UTC>)'
>>> timestamp_from_bigquery.isoformat("T") + "Z"
'2017-05-31T16:13:26.252000+00:00Z'
Run Code Online (Sandbox Code Playgroud)

具体来说,Google的API不接受+00:00作为startTime.如果我从字符串手动删除+00:00 API调用工作,但我不知道如何在没有丑陋的字符串黑客的情况下在python中执行此操作.有没有一些干净的方法从datetime对象中删除它?

我也尝试了这个,但结果相同:

>>> timestamp_from_bigquery.replace(tzinfo=None)
'2017-05-31T16:13:26.252000+00:00Z'
Run Code Online (Sandbox Code Playgroud)

python google-api google-bigquery google-admin-sdk

6
推荐指数
1
解决办法
992
查看次数

Kubectl:致命错误:运行时:bsdthread_register 错误

我已经大约两个月没有使用 kubectl 了。六月时运行良好,但现在出现以下错误:

$ kubectl
fatal error: runtime: bsdthread_register error

runtime stack:
runtime.throw(0x2cb65a5, 0x21)
    /usr/local/go/src/runtime/panic.go:596 +0x95 fp=0x7fff5fbff810 sp=0x7fff5fbff7f0
runtime.goenvs()
    /usr/local/go/src/runtime/os_darwin.go:108 +0xa0 fp=0x7fff5fbff840 sp=0x7fff5fbff810
runtime.schedinit()
    /usr/local/go/src/runtime/proc.go:486 +0xa1 fp=0x7fff5fbff880 sp=0x7fff5fbff840
runtime.rt0_go(0x7fff5fbff8b0, 0x1, 0x7fff5fbff8b0, 0x0, 0x1, 0x7fff5fbffa38, 0x0, 0x7fff5fbffa40, 0x7fff5fbffa5c, 0x7fff5fbffa6c, ...)
    /usr/local/go/src/runtime/asm_amd64.s:158 +0x183 fp=0x7fff5fbff888 sp=0x7fff5fbff880
Run Code Online (Sandbox Code Playgroud)

我读到这可能是由 websense 引起的,但我的 Mac 上没有安装 websense。据我所知,唯一发生变化的是对 Max OSX (10.12.6) 的例行更新,以及对 gcloud (163) 的例行更新。

我尝试过重新安装kubectl、gcloud,但仍然失败。据我所知,Go 有问题,我认为 Go 是 gcloud sdk 中包含的核心库的一部分。

关于如何解决/解决这个问题有什么想法吗?由于此问题,我无法连接到我的任何 Pod。

macos go gcloud kubernetes

6
推荐指数
1
解决办法
5348
查看次数

如何使用 JSON 密钥文件在 Node.js 中设置谷歌服务帐户授权?

尝试使用此处定义的服务器到服务器 OAuth 流程:https : //developers.google.com/identity/protocols/OAuth2ServiceAccount

由于我在本地开发环境中运行,因此我在 GCP 中创建了一个服务帐户并使用私钥下载了 JSON 文件,但找不到任何关于如何:1) 加载 json 文件的 Node.js 代码示例) 设置委托凭据(用于 G Suite 域范围授权)

我看过的地方(除了 stackoverflow)是 Google 的 node.js 客户端库的 git wiki,它确实讨论了服务器到服务器的身份验证,但似乎假设您从 appengine 或 google cloud 运行并且不需要加载一个密钥文件:https : //github.com/googleapis/google-api-nodejs-client#service-to-service-authentication

Admin SDK 活动报告 API 有一个 Node 示例,但它使用基于 Web 的流程(假设用户存在):https : //developers.google.com/admin-sdk/reports/v1/quickstart/nodejs

在 Node.js 示例中深埋的是 Directory API 的使用,它似乎以密钥文件作为输入,但是当我尝试在本地运行时,它说 getClient 不是构造函数,并且这个示例仍然没有显示如何设置上下文的 G Suite 管理员用户(通常是将刷新令牌和访问令牌加载到应用程序中时):https : //github.com/googleapis/google-api-nodejs-client/blob/master/samples/directory_v1 /group-delete.js

所以......有人有这样的例子吗?我真的不想切换到 Python 运行时,但 Google 似乎遗漏了有关此主题的重要示例。

google-api-nodejs-client

5
推荐指数
0
解决办法
713
查看次数