使用Base64UrlEncode的语句

don*_*lan 4 c# gmail-api

我试图通过代码发送电子邮件,我遇到了障碍.当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());
    }
Run Code Online (Sandbox Code Playgroud)

如何启用"Base64UrlEncode"?

Tho*_*lle 10

"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("=", "");
  }
Run Code Online (Sandbox Code Playgroud)

  • 我实际上从 NuGet https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/master/src/Microsoft.IdentityModel.Tokens/Base64UrlEncoder.cs 添加了 Microsoft.IdentityModel.Tokens 包 (3认同)