【问题标题】:Deleting Gmail Emails via Google API using Powershell v2.0使用 Powershell v2.0 通过 Google API 删除 Gmail 电子邮件
【发布时间】:2017-05-05 08:27:58
【问题描述】:
$user = "example@gmail.com"
$pass= "examplepassword" 
$secpasswd = ConvertTo-SecureString $user -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ($pass, $secpasswd)

Invoke-RestMethod  'https://www.googleapis.com/gmail/v1/users/me/messages/0' -Method Delete -Credentials $cred

所以,我的问题是双重的。

我最初尝试使用 Invoke-WebRequest 通过带有 http 删除请求的 Google API 删除 gmail 电子邮件。但是,这不起作用,因为Powershell 2.0 does not support Invoke-WebRequest

此后,我在尝试使用 IMAP 和 POP3 后尝试使用 Invoke-RestMethod,这两者都需要外部依赖项(将 .dlls 添加到我正在使用的机器不是最佳选择)。

因此,如果有人可以向我展示通过 Powershell 中的 Google API 删除电子邮件的适当方法,我将不胜感激。我已经提供了一些示例代码来说明我在上面使用的内容。请原谅它可能包含的任何错误,因为我对 Powershell 比较陌生,而且我在使用 RESTful 服务方面的经验仍然有限。

【问题讨论】:

  • 你看过technet吗?
  • 我看过 Technet,是的。它没有提供有关如何与 Google 的 OAuth2.0 及其 API 交互的示例,所以这就是我遇到问题的地方。
  • Invoke-restmethod 也是 PoSH 3 及更高版本的 cmdlet。
  • Fun.... 好吧,至少我得到了另一个节点来运行它,它应该启用 Powershell v5。

标签: powershell google-api gmail google-oauth powershell-2.0


【解决方案1】:

GMail API 将需要 Oauth2 身份验证,除非这是 gsuit/域管理员/GMail 帐户,在这种情况下,您可以使用服务帐户进行身份验证。在任何一种情况下,您都不能使用登录名和密码。

我的 powershell 知识非常有限,您是否考虑过通过邮件服务器 IMAP and SMTP 直接执行此操作而不使用 API。不知道使用 powershell 是否可行

更新:

我可以使用 Invoke-WebRequest 做到这一点,您仍然需要先获取访问令牌。

Invoke-WebRequest -Uri "https://www.googleapis.com/gmail/v1/users/me/messages/0?access_token=$accesstoken"-Method Get | ConvertFrom-Json

接缝也可以工作

Invoke-RestMethod -Uri "https://www.googleapis.com/gmail/v1/users/me/messages/0?access_token=$accesstoken"-Method Get 

如果您有兴趣,请在 GitHub 上提供 OAuth 的代码:Google Oauth Powershell

【讨论】:

  • Seams Oauth2 也可以使用 powershell 你让我感兴趣我正在玩它。现在关注这个stackoverflow.com/questions/27658610/…
  • 理论上是可以的,但它需要类似于此处使用的AE.Net.Mail.dll github.com/nikoblag/Gmail.ps 的依赖项。出于可移植性的考虑,使用 .dll 是不可能的。不过,我不知道如何在没有它的情况下直接从 Powershell 使用 IMAP。
  • 有趣。谢谢,明天早上我会检查一下这是否适用于我的解决方案。
  • 知道这如何与 Powershell v2 一起工作吗?无论如何,我想让所有这些都在我的旧机器上工作。也许 POP3 可能在集成到 Powershell 脚本中的 C# 中工作?这是一个链接:github.com/andyedinborough/aenetmail/blob/master/Pop3Client.cs
  • 不幸的是,我不知道 C# 是如何工作的,而且我自己可能无法让它工作。
猜你喜欢
  • 2016-03-03
  • 2016-10-27
  • 2017-05-14
  • 1970-01-01
  • 1970-01-01
  • 2017-04-14
  • 2021-09-29
  • 1970-01-01
  • 2018-03-08
相关资源
最近更新 更多