首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义Protoc protoc gen-go“时间戳”。

未定义Protoc protoc gen-go“时间戳”。
EN

Stack Overflow用户
提问于 2022-09-19 12:11:53
回答 1查看 72关注 0票数 2

我需要使用协议缓冲区来序列化从Google驱动器接收到的JSON消息:list方法,并将它们写入BigQuery存储写入API (GRPC)。这适用于除时间戳以外的所有字段类型。我一生都无法生成包含时间戳的go类。首先,我正在跟踪本文件,尽管我也尝试了所有我可以在网上找到的东西,包括这里的堆栈溢出,但都没有效果。

在MacOS 12.6上,协议从这个拉链安装到/usr/local/bin,并将这个拉链的内容安装到/usr/local/这个拉链

这是我需要创建一个类的drives.proto文件:

代码语言:javascript
复制
syntax = "proto3";
option go_package = "./driveBuffers";
import "google/protobuf/timestamp.proto";
message Drive {
  string id =1;
  string name =2;
  string colorRgb = 3;
  string backgroundImageLink =4;
  bool hidden = 5;
  string orgUnitId = 6;
  timestamp createdTime = 7;
  message restrictions {
    bool adminManagedRestrictions = 1;
    bool domainUsersOnly = 2;
    bool copyRequiresWriterPermission = 3;
    bool driveMembersOnly = 4;
  }
}

如果我删除带有时间戳类型的字段,该工具将创建一个名为./driveBuffers/drives.pb.go的文件。使用时间戳类型,将引发此错误:

代码语言:javascript
复制
% protoc --go_out=. -I ./ -I /usr/local/include/ drives.proto
drives.proto:11:3: "timestamp" is not defined.

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-19 12:46:11

您应该将该类型称为google.protobuf.Timestamp。例如:

代码语言:javascript
复制
  string orgUnitId = 6;
  google.protobuf.Timestamp createdTime = 7;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73773164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档