尽管这似乎很容易修复,但由于某种原因,我的.NET应用程序根本不将其视为有效的base64字符串。
我正在使用GMail API来获取消息,在我试图检索正文的最后一部分,我遇到了以下错误消息:
private async void Form1_Load(object sender, EventArgs e)
{
txtEmail_ID.Focus();
try
{
requestLabel = service.Users.Labels.List("me");
requestMessage = service.Users.Messages.List("me");
//requestMessage.LabelIds = "INBOX";
//requestMessage.IncludeSpamTrash = false;
// requestMessage.Q = "is:unread";
var messageResponse = await requestMessage.ExecuteAsync();
if (messageResponse != null && messageResponse.Messages != null)
{
foreach (var message in messageResponse.Messages)
{
var currentMessage = new messageInfo();
var requestNestedMessage = service.Users.Messages.Get("me", message.Id);
var nestedMessageResponse = await requestNestedMessage.ExecuteAsync();
if (nestedMessageResponse != null) // Check if we have nested params
{
foreach (var mParts in nestedMessageResponse.Payload.Headers) // Loop msg headers
{
if (mParts.Name == "Date")
{
currentMessage.msgDate = mParts.Value; // Get msg date
}
else if (mParts.Name == "From")
{
currentMessage.msgSender = mParts.Value; // Get msg sender
}
else if (mParts.Name == "Subject")
{
currentMessage.msgTitle = mParts.Value; // Get msg subject
}
}
if (nestedMessageResponse.Payload.Parts == null && nestedMessageResponse.Payload.Body != null)
{
currentMessage.msgBody = nestedMessageResponse.Payload.Body.Data;
}
else
{
currentMessage.msgBody = returnNestedParts(nestedMessageResponse.Payload.Parts, "");
}
Console.WriteLine(currentMessage.msgSender);
String codedString = currentMessage.msgBody.Replace("-", "+");
codedString = codedString.Replace("_", "/");
byte[] data = Convert.FromBase64String(codedString);
currentMessage.msgBody = Encoding.UTF8.GetString(data);
mInfo.Add(currentMessage);
}
}
}
} catch (Exception ex)
{
Console.WriteLine(ex);
}
//comboFolders.SelectedIndex = 0;
}
程序对它所获取的每条消息抛出异常,“第127行”位于“byte[]data”上。
我尝试在这个论坛中搜索类似的问题,但是,他们的解决方案似乎都不起作用,因为大多数人只是提供了将-and_符号更改为适合base64url类型的符号。
我已经解决了这个问题,缩小到有效载荷部分。当我想将消息的两个有效负载部分连接在一起时,就会出现错误,使尾随的'='符号无法处理,从而迫使自己出现异常。
我正面临一个奇怪的问题,几乎花了4个小时没有运气。 我有一个简单的Web API,我正在表单提交时调用它。 API- HTML- 当我点击提交按钮时,我得到以下错误- 启动类中的配置- 这只发生在POST请求中。GET request工作正常。在邮递员REST客户端中测试时也会出现同样的问题。有什么需要帮忙的吗?如果我能提供更多的细节,请让我知道。
我目前正在尝试为一个我为好玩而开发的网站创建一个登录/创建帐户页面。在创建帐户表单中,我有一个用户名、姓名、电子邮件、密码和验证密码的输入字段。我在输入字段中也有模式,以便用户生成有效的帐户信息。以下为表格: 澄清:用户名模式要求您的用户名只有大写和小写字母和数字,并且必须至少包含5个字符,最多包含40个字符。电子邮件要求您输入有效的电子邮件地址模式。密码要求至少包含8个字符,并且必须包含大小写字
这是我为CS类制作的文本冒险游戏的一小部分。你正在探索一座房子,你通过告诉游戏你想去北、南、东还是西来导航它 因此,我想添加一些内容,以便在输入无效输入时告诉您,如果您说拼写错误的单词,如Nroth、Suoth、Eas或Weast。这些只是例子,但希望你们知道我的意思,只要它不完全匹配北,南,东或西。在这段代码中,我将如何做到这一点? 我举了一个错误的例子,如果你在写“elif room==”的地
我试图从包含日期列的.xlsx电子表格中导入数据。在这些列中,日期以DD-MON-YY格式显示(例如:20-aug-12)。 编辑:我的约会语言匹配器设置为“法语”。我可以改成“美国”吗?
有一个M x N(M, N 我试图解决它,但找不到可能的解决办法。现在,我想知道解决这个问题的有效算法。 exam1) 给定一个5x3矩阵作为问题输入, 'o'- o o o x o x o o o x o x o o 回答)油漆的最小数量为5<绘制(0,0…0,2) 绘制(2,0…2,2) 绘制(4,0…4,2) 绘制(1,1) 绘制(3,1) 给定一个3x3矩阵, o x o o o o x
名称只包含字母、连字符“-”和空格“” 第一个字母应为大写字母。 空白或连字符后应紧跟大写字母。 例如,程序只应接受以下表格: “name”或“firstname-secondname”或“firstname secondname”。 我的Java代码: 有人能帮忙吗?