我有一个Raspberry Pi3设备,安装了Android Things dev预览版0.6.1。完成某些操作后,设备需要将数据发送到Google云端存储。为此,它必须具有API密钥才能对自身进行身份验证。
在Android设备中,可以通过集成Google登录选项轻松完成,但由于我的Android Thing设备没有任何界面,因此无法在其中实施Google登录。
我已经通过github项目Android Things Weather Station Sample使用Google服务帐户向PubSub发布数据。为此,它会生成credential.json文件并将其导入项目,并以某种方式从中生成凭据。
所以我的问题是,未经用户同意,我们是否可以使用Google服务帐户对Google云端存储进行身份验证?如果是,我们如何从中生成访问令牌?如果不是,是否还有其他方法可以通过GCS进行身份验证?
正如Shubham所说,使用服务帐户是验证设备的一种方法。否则,您需要构建一个用于验证用户身份的移动伴侣应用程序。然后,您必须将该令牌传输到IoT设备。
使用Google Cloud对您的物联网设备进行身份验证的最简单,最安全的方法是使用Cloud IoT Core通过MQTT或HTTP将数据发布到Cloud Pub / Sub。 Cloud IoT Core是一个桥梁,旨在安全地管理大量设备并使用您的云项目对其进行身份验证。
看看GitHub上的SensorHub sample app,它类似于气象站,但使用Cloud IoT Core进行身份验证和发布。
如果有人遇到同样的问题,我发现this文件解释了在没有用户同意的情况下使用Google Cloud验证设备的方法。