不能使用这个谷歌提出的功能

时间:2017-03-27 18:45:34

标签: google-apps-script gmail gmail-api

有这个函数here,如果你在“试试这个api”部分运行它,那么工作正常......

但是,如果我像这样实现它(deleteMessage):

<?php 

    if(isset($_POST['reply'])){
        $post_id = $_GET['post_id'];

它不起作用,我在第2行(函数deleteMessage)上得到以下错误(从西班牙语翻译,所以我不知道它是否是一个确切的翻译):“一个名字(?)是落后(在?之后)运营商“。”“

你能指出我做错了吗?

此致

2 个答案:

答案 0 :(得分:0)

根据标签判断,我了解您使用的是Google App脚本,而不是独立的JavaScript。该示例不适用于Google Apps脚本,也不适用于此。

如果我理解正确,您希望从帐户中删除所有草稿。您还可以访问GmailApp,只需更少的步骤即可轻松完成您想要的操作。所以,假设您转到Resources → Advanced Google services...,启用Gmail API并将其称为Gmail。然后,以下代码将删除当前用户的所有草稿

function clearDrafts() {
  var Drafts = GmailApp.getDraftMessages();  
  for (var i = 0; i < Drafts.length; i++)
    Gmail.Users.Messages.remove('me', Drafts[i].getId());
}

此功能将删除所有草稿而不删除实际收到的消息。因此,例如,如果您收到电子邮件,点击回复,输入内容并运行此功能,它将删除草稿,但收到的电子邮件将保持不变。

答案 1 :(得分:0)

您可以使用GmailApp将邮件移至草稿(can't delete mail using GmailApp)。

现在,如果您要永久删除电子邮件,请使用Advanced Google Services

  

要查看哪些Google API可用作高级服务,请查找&#34;高级Google服务&#34; Reference中的部分。如果您想使用不能作为高级服务使用的Google API,只需像其他任何external API一样连接到它。

     

要使用高级Google服务,请按以下说明操作:

     
      
  1. 在脚本编辑器中,选择资源&gt;高级Google服务....
  2.   
  3. 在显示的对话框中,点击您要使用的服务旁边的开启/关闭开关。
  4.   
  5. 在对话框底部,点击 Google API控制台的链接。
  6.   
  7. 在控制台中,单击过滤器框并键入API名称的一部分(例如,&#34;日历&#34;),然后在看到后单击该名称。
  8.   
  9. 在下一个屏幕上,点击启用API
  10.   
  11. 关闭开发人员控制台并返回脚本编辑器。点击对话框中的确定。您启用的高级服务现在可以自动填充。
  12.   

我已更新您的代码:

function cleanUp2() {
  var threads = GmailApp.search("SOME SEARCH");
  Logger.log(threads.length);

  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    Logger.log(messages.length);

    for (var j = 0; j < messages.length; j++){
      if (messages[j].isDraft()){
        Logger.log('me' + 'id msg: ' + messages[j].getId());
        deleteMessage('me',messages[j].getId());
      }
      else{
       Logger.log('me' + 'id msg: ' + messages[j].getId() +" not draft");
      }
    }
  }
}

    function deleteMessage(userId, messageId) {
      Gmail.Users.Messages.remove(userId, messageId);
    }

希望这有帮助。

更新:

enter image description here

运行代码后:

enter image description here

请检查您是否已启用Advance Google Service。