【问题标题】:Can I display a G Suite User Photo with the just the thumbnailPhotoUrl?我可以仅使用 thumbnailPhotoUrl 显示 G Suite 用户照片吗?
【发布时间】:2019-05-01 14:52:04
【问题描述】:

问题

网络应用能否仅使用thumbnailPhotoUrl 显示 G Suite 用户的个人资料图片,还是需要保存并提供图片?

上下文

This Guide 描述了如何从 Directory API 获取图像。但我不确定如何从get 请求转移到我可以显示的图像文件。提到了 Closure Library 用于 Base64 编码/解码。

我想使用图像的链接,用作img 元素的src

我的尝试

使用具有域范围委派的服务帐户的 Firebase 云功能正在通过 https://www.googleapis.com/admin/directory/v1/users 检索用户数据。这将返回thumbnailPhotoUrl,我可以将 URL 粘贴到 chrome 中并查看图像。如果我与其他人分享thumbnailPhotoUrl,他们看不到图像,而是看到剪影占位符。

注意:thumbnailPhotoUrl 包括 /private like 这个:

https://www.google.com/s2/photos/private/xyz123...

这是否表明此 URL 在 Web 应用中无法显示图像?

【问题讨论】:

  • 它对你有用吗?我尝试以编程方式下载图像,它还下载了剪影图像。您是如何管理下载缩略图的?

标签: firebase google-api google-cloud-firestore google-workspace


【解决方案1】:

您可以将 URL 的内容直接嵌入到 HTML 文档中。它看起来像这样:

<img width="16" height="16" alt="star" src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7" />

神奇的部分是获取图像二进制数据并为 img 标签进行 base-64 编码。

上例的格式:

data:[<mime type>][;charset=<charset>][;base64],<encoded data>

link 提供了更多详细信息并展示了如何执行此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多