使用语句进行Base64UrlEncode

6

我正在尝试通过代码发送电子邮件,但遇到了障碍。 我参考了这个,但Base64UrlEncode显示为红色。 我的代码中有相同的using语句。

using System;
using System.IO;
using System.Net.Mail;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using MyCompany.Sample.EmailConnector.Model;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Gmail.v1;
using Google.Apis.Gmail.v1.Data;
using Google.Apis.Services;
using Google.Apis.Util.Store;
...
    public static Message createGmailMessage(AE.Net.Mail.MailMessage mailMessage)
    {
        var messageString = new StringWriter();
        mailMessage.Save(messageString);
        Message gmailMessage = new Message();
        gmailMessage.Raw = Base64UrlEncode(messageString.ToString());
    }

如何启用"Base64UrlEncode"?


2
你在任何地方声明了方法吗? - Yuval Itzchakov
是的,这是个愚蠢的错误。该方法在示例中已经声明了。 - Chris
1个回答

16
"

\"Base64UrlEncode\"只是一个自定义函数:

"
private static string Base64UrlEncode(string input) {
    var inputBytes = System.Text.Encoding.UTF8.GetBytes(input);
    // Special "url-safe" base64 encode.
    return Convert.ToBase64String(inputBytes)
      .Replace('+', '-')
      .Replace('/', '_')
      .Replace("=", "");
  }

1
是的,我发帖后才意识到。难怪我找不到它。如果可以的话,我会删除的。 - Chris
3
我实际上从NuGet添加了Microsoft.IdentityModel.Tokens包。https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/master/src/Microsoft.IdentityModel.Tokens/Base64UrlEncoder.cs - Laki Politis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接