【问题标题】:How to get user profile picture from Google Chat Bot using Google App Script?如何使用 Google App Script 从 Google Chat Bot 获取用户个人资料图片?
【发布时间】:2021-09-19 15:31:01
【问题描述】:

我对 Google App Script 有点陌生,但我不知道该怎么做。我正在使用 Google App Script 创建一个 Google Chat 机器人,并且我想获取向该机器人发送消息的用户的个人资料图片,最好是链接而不是图片本身,因为我会将图片传递到网站。

编辑:我知道 Google 有一个 API 可以获取像 this 这样的用户照片,如果我是管理员 - 我不是 - 或者像 this 但我不知道如何在 App Script 中使用它,或者是否可以这样做。据我了解,我需要拥有我不知道如何获取的用户 ID。我还查看了this 问题,但是可能对我有帮助的链接不再起作用。如果它有助于我还知道他们的电子邮件地址,我只需要从那里获取帐户 ID。我不介意使用其他需要 OAuth 来执行此操作的 API。如果这有助于我还知道他们的电子邮件地址,我只需要从那里获取帐户 ID。

【问题讨论】:

    标签: google-apps-script google-chat


    【解决方案1】:

    如果将来有人需要答案,我所做的就是将 "https://www.googleapis.com/auth/userinfo.profile" 添加到我的范围并将其添加到我的代码中

    var accessToken = ScriptApp.getOAuthToken();
    var url = 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=' + accessToken + '';
    var response = UrlFetchApp.fetch(url);
    response =  JSON.parse(response.getContentText());
    var image = response['picture'];
    

    然后图片会返回一个指向公开头像的链接。

    【讨论】:

    • 这种方法只会为您提供经过身份验证的用户的数据。您的问题不是如何获取触发 Chat 事件的用户的数据吗?
    • 是的,我想获取触发聊天事件的用户的数据,它按我的预期工作,尽管分辨率比预期的要低一点,这对我来说不是问题。我认为它有效,因为每个使用聊天机器人的人都是经过身份验证的用户。
    【解决方案2】:

    回答:

    无法使用 Chat API 检索此信息。

    参考:

    聊天 API User resource 不包含任何关于头像的信息:

    {
      "name": string,
      "displayName": string,
      "domainId": string,
      "type": enum (Type),
      "isAnonymous": boolean
    }
    

    提交功能请求:

    如果您认为此功能有用,我建议您在问题跟踪器中使用 this template 请求它。

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 1970-01-01
      • 2022-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-12
      • 1970-01-01
      • 2014-08-26
      相关资源
      最近更新 更多