- 报:48001错,请问是什么原因?
{\"errcode\":48001,\"errmsg\":\"api unauthorized rid: 6872faa1-637916ed-058c6f0a\}这个是错误的代码,我网上查了一下,说是素材没有授权上传,可是我再公众号平台找不到对应的权限设置,我使用postman上传也是这个提示,但是如果是临时素材,就可以,想问题一下是什么原因,急,已经搞了两天,啥进度都没有
07-13 - C#Razor调用API接口上传素材总出现41005提示,我用postman请求可以,知道为什么吗?
"{\"errcode\":41005,\"errmsg\":\"media data missing hint: [nSVJ.a027534-4] rid: 68727bdb-759a8450-2e60ebbc\"}" 下面是请求代码 public async Task<string> UploadPermanentImageAsync(IFormFile media) { // 1. 验证文件 if (media.Length > 2 * 1024 * 1024) throw new ArgumentException("图片大小不能超过2MB"); // 2. 动态检测文件格式 using (var memoryStream = new MemoryStream()) { await media.CopyToAsync(memoryStream); memoryStream.Position = 0; var format = DetectFormat(memoryStream); if (format is not JpegFormat and not PngFormat) throw new ArgumentException("仅支持 JPEG/PNG 格式"); // 3. 重置流位置 memoryStream.Position = 0; // 4. 构建请求内容 var content = new MultipartFormDataContent(); var streamContent = new StreamContent(memoryStream); // 设置正确的 MIME 类型和文件名 var contentType = format is JpegFormat ? "image/jpeg" : "image/png"; var fileExtension = format is JpegFormat ? ".jpg" : ".png"; streamContent.Headers.ContentType = MediaTypeHeaderValue.Parse(contentType); content.Add(streamContent, "media", $"temp_image{fileExtension}"); // 5. 获取 access_token var accessToken = await GetAccessTokenAsync(); var url = $"https://api.weixin.qq.com/cgi-bin/media/upload?access_token={accessToken}&type=image"; // 6. 上传临时素材 var response = await _httpClient.PostAsync(url, content); var responseContent = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { var error = JsonConvert.DeserializeObject<WeChatErrorResponse>(responseContent); throw new HttpRequestException($"临时素材上传失败: {error.errmsg} (错误码: {error.errcode})"); } var result = JsonConvert.DeserializeObject<WeChatTempMediaResponse>(responseContent); return result.media_id; } }
07-13 - 后端上传永久素材的问题,不知道是什么问题?
我后端调用api接口上传永久素材,反馈的信息如图,怎么解决,谢谢 [图片]
07-12