使用 Base64UrlEncode 的语句 [关闭]

Posted

技术标签:

【中文标题】使用 Base64UrlEncode 的语句 [关闭]【英文标题】:Using statement for Base64UrlEncode [closed] 【发布时间】:2015-07-26 14:39:03 【问题描述】:

我正在尝试通过代码发送电子邮件,但遇到了障碍。当 Base64UrlEncode 显示为红色时,我正在使用 this。我的代码中有相同的 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”?

【问题讨论】:

你是否在任何地方声明了该方法? 是的,愚蠢的错误。该方法已在示例中声明。 【参考方案1】:

“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("=", "");
  

【讨论】:

是的,我发帖后才意识到这一点。难怪我找不到。如果可以,我会删除。 我实际上添加了来自 NuGet github.com/AzureAD/… 的 Microsoft.IdentityModel.Tokens 包

以上是关于使用 Base64UrlEncode 的语句 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

base64 和 urlencode的区别

Base64&UrlEncode

iOS加密2——Base64(苹果支持)

介绍几个PHP 自带的加密解密函数

PHP base64_encode 在URL地址参数编码上使用

Urlencode问题