按照the docs
尝试将媒体上传到Google Photos API时出现以下错误这是我检索字节数组的方式:
这就是我发出请求的方式:
我尝试了很多事情,但都无济于事...
注意:我正在使用其他Google Photos API端点,例如“获取相册”,“创建相册”,“获取媒体”,并且一切正常。上传媒体是我遇到的唯一问题。
注意2::令牌发送正确。
注意3::所有原始端点都已在Google控制台(包括localhost)中进行了配置,以至于其他端点正常工作。
任何人都可以给我一点光吗?
答案 0 :(得分:0)
我正在用C#编写类似的东西,并且能够使用photo 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;
}