API需要不正确的Web安全Base64填充

时间:2017-03-29 18:48:33

标签: google-admin-sdk google-directory-api

摘要 - 目前,Directory API用户照片的照片数据(编码为Web安全的Base64)以与文档相反的方式处理填充;填充应从=转换为.,但需要=寻求澄清是否有意。

详细信息 - 我一直在使用Google API与用户照片进行交互 - 能够检索和更新。 documentation明确了如何呈现照片数据的Web-Safe Base64格式:

  

对于填充,使用句点(。)字符而不是RFC-4648 baseURL定义,该定义使用等号(=)进行填充。这样做是为了简化URL解析。

然而,最近这已停止工作。我不确定何时发生这种情况。 (编辑:基于多年前我发现的类似评论,这可能从来没有奏效过,我从来没有碰巧测试过编码成填充物的照片。)

为了测试这一点,我下载了一张现有图片并重新上传,并收到错误Invalid value for ByteString。如果我拦截返回的Base64并直接传回相同的数据,我就不会收到任何错误。

问题结果是填充 - 在文档中声明=等于填充需要用.句点替换。我的示例Base64以两个填充字符结束,它们按预期变为两个句点(这给出了错误)。如果我将填充保留为=等于,则无效。

当您检索用户照片时,从Google返回的Base64也会显示填充=等于字符,这似乎与文档明显矛盾。我也通过网络上的Try It Now方法确认了这一点,因此它不是语言或API客户端特定的。

那么,流程是否已更改且文档(最后更新时间为2015年2月26日)未更新?这是永久性变更还是错误?

编辑 - 根据some other posts看起来这是一个长期存在的问题,我可能从来没有遇到过填充之前的图像。 Point stand - 文档是否准确,还是需要针对此进行调整?

编辑2 - 所有迹象都表明这是一个错误或错误的文档。无论哪种方式,我都无法在追踪中找到任何问题,所以我有opened an issue for it。如果我在任何情况下得到官方消息,我会[试着记住]回来并提供它作为答案。

0 个答案:

没有答案