我在尝试将媒体上传到 Google Photos API 时遇到以下错误,遵循文档
这就是我检索字节数组的方式:
这就是我提出请求的方式:
我已经尝试了很多东西,但都没有奏效......
注意:我正在使用其他 Google Photos API 端点,例如获取相册、创建相册、获取媒体,一切都按预期工作。上传媒体是我唯一遇到的问题。
注意 2:令牌正在正确发送。
注意 3:所有原始端点都在 google 控制台(包括本地主机)中进行了配置,以至于其他端点都可以正常工作。
谁能给我一盏灯?
我在尝试将媒体上传到 Google Photos API 时遇到以下错误,遵循文档
这就是我检索字节数组的方式:
这就是我提出请求的方式:
我已经尝试了很多东西,但都没有奏效......
注意:我正在使用其他 Google Photos API 端点,例如获取相册、创建相册、获取媒体,一切都按预期工作。上传媒体是我唯一遇到的问题。
注意 2:令牌正在正确发送。
注意 3:所有原始端点都在 google 控制台(包括本地主机)中进行了配置,以至于其他端点都可以正常工作。
谁能给我一盏灯?
我正在用 C# 编写类似的东西,并且能够使用照片 api。我最好的建议是仔细检查标题。我希望这会有所帮助,另外我添加了一个成功调用 api 的邮递员截图:
public async Task<GoogleApiResponse> UploadPhoto(StorageFile photo)
{
var userInfo = UserInfoVault.GetUserInfo();
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userInfo.AccessToken);
client.DefaultRequestHeaders.Add("X-Goog-Upload-File-Name", photo.DisplayName);
var fileStream = await photo.OpenAsync(FileAccessMode.Read);
var reader = new DataReader(fileStream.GetInputStreamAt(0));
await reader.LoadAsync((uint)fileStream.Size);
byte[] pixels = new byte[fileStream.Size];
reader.ReadBytes(pixels);
var httpContent = new ByteArrayContent(pixels);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
HttpResponseMessage photoResponse = client.PostAsync(ApiEdnpoints.UploadPhoto, httpContent).Result;
string strResponse = await photoResponse.Content.ReadAsStringAsync();
return null;
}