当前位置: 首页 > 面试题库 >

Gmail API范围和格式不匹配

晏晨朗
2023-03-14
问题内容

我正在尝试为Android编写小型gmail客户端作为培训。我从https://developers.google.com/gmail/api/quickstart/android上获取了gmail
api指南示例,对其进行了一些修改,以获取带有标题和正文的消息。我将范围设置为GmailScopes.Gmail_modify并编辑了主要请求功能,如下所示:

private List<String> getDataFromApi() throws IOException {
            // Get the labels in the user's account.
            String user = "me";
            List<String> labels = new ArrayList<String>();
            ListLabelsResponse listResponse =
                    mService.users().labels().list(user).execute();
            ListThreadsResponse listThreads = null;
            try {
             listThreads = mService.users().threads().list(user).execute();
            } catch (IOException ioex){
                Log.e(LOG_TAG, "First: " + ioex.toString());
            }

            for (Thread thread : listThreads.getThreads()) {
                try {
                    thread = mService.users().threads().get(user, thread.getId()).setFormat("full").execute();
                } catch (IOException ioex){
                    Log.e(LOG_TAG, "Second: " + ioex.toString());
                }
                for(Message message : thread.getMessages()){
                    labels.add(message.getId());
                }

            }
            return labels;
        }

但是我总是

Second: GoogleJsonResponseException: 403 Forbidden            {
                                                                             "code" : 403,
                                                                             "errors" : [ {
                                                                               "domain" : "global",
                                                                               "message" : "Metadata scope doesn't allow format FULL",
                                                                               "reason" : "forbidden"
                                                                             } ],
                                                                             "message" : "Metadata scope doesn't allow format FULL"
                                                                           }

我尝试了不同的范围配置,但似乎服务范围始终设置为 GmailScopes.GMAIL_METADATA


问题答案:

这些天正是我在使用Google APIs Explorer时遇到的问题。这是我为解决该问题所做的工作:

  1. 前往https://security.google.com/settings/security/permissions
  2. 选择您正在使用的应用,我的就是Google APIs Explorer
  3. 单击删除>确定
  4. 下次,只需准确要求您需要的权限即可。

希望对您有所帮助:)



 类似资料:
  • 我正在尝试使用R中的“grainchanger”包将分辨率更高的光栅聚合为分辨率更高的光栅。 我有10公里的英国网格轮廓,我已经从shapefile转换为光栅。 我还有一张英国的栅格土地覆盖图。 我需要查看土地覆盖图中每10公里见方的土地覆盖%s。 当我尝试使用grainchanger包聚合此内容时,会出现以下错误: 我想这是因为我的10km栅格光栅是正方形,而土地覆盖地图没有填充。 如何更改土地

  • 问题内容: 我正在尝试使用apache poi java创建一个空的excel模板。我需要添加一个规则- 当列号为。填充3,然后需要以某种颜色突出显示从7到12的列(作为用户的强制性指示)。 我可以在下面的代码中找到在同一单元格上满足条件时为单元格着色的代码。但是我想在当前单元格满足条件时为不同的单元格上色/格式化。 但是我想要的是当满足rule1时,然后为另一个单元格区域着色。 poi可能出现这

  • 但我想要的是当规则1满足时,然后给不同的单元格区域着色。 在poi中这可能吗?怎么可能?

  • 公司及产品名称 我们的公司及产品名称是「DaoCloud」。注意这是两个单词的合成词,所以中间沒有空格(参考:GitHub)。如作为 URL 的一部分,应该使用全小写的「daocloud」。 文案风格 一定多检查,确保没有错别字。 即使是流行语中的谐音错别字也不要使用,比如「墙裂」、「童鞋」等。 我们崇尚精练的文风。请在检查中把对表达意思没有明显作用的字、词、句删除,在不影响表达效果的前提下把文案

  • 问题内容: 我想检查一个字符串是否匹配1-2个字母,1-4个数字和1个字母的模式。(例如: CC44C , C4444C )。 我知道这将完全匹配2个字母,4个数字和1个字母的模式。(例如: CC4444C ) 但是,如何使它与范围(即1-2个字母,1-4个数字)匹配的模式呢? 我已经尝试过,但是它给了我以下错误: 问题答案: 您需要将{1-2}更改为{1,2},您可以理解为{minimun,ma

  • 问题内容: 我在Homestead流浪者盒子上运行 Laravel 5.4 。我已经使用命令安装了所有npm依赖项。那没有产生任何错误。 在我的 webpack.min.js 文件中,我有: 当我要运行时,出现以下错误: 这可能是什么问题? 问题答案: 我在Ubuntu上的旧版本的nodejs包也遇到了同样的问题。我刚刚更新到7.5,并且可以正常工作。