摘要 - 目前,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。如果我在任何情况下得到官方消息,我会[试着记住]回来并提供它作为答案。