单看独立的 API 并不复杂,简单来说就是一个网络请求,你按要求提供了正确的参数,平台就会返回给你相应的结果。但如果你是刚接触这类接口,我相信你会被坑得鼻青脸肿,因为我也是过来人。
比较明显的坑大约有三个:
签名。这是开放 API 验证来源身份的标志,也是 API 新手必经的坎。你要了解 md5 的概念(之前文章有提及过【每周一坑】校验文件哈希),并且按照 API 的要求生成正确的签名。除了开始时理解上的困难,在开发调试时,因为最终输出只有一串字符,所以出错时很难 debug,只能一遍遍地仔细检查。参数。参数看起来都给你规定好了,但实际用时才发现会有各种问题。比较常见的错误可能是编码。同样,因为缺少调试信息,即使是很低级的错误,也可能让你耗费很长时间。再加上有些你没注意到的文档细节(比如字符长度限制)和错误(语音合成里的请求方法是 POST 但文档上写的是 GET),这个步骤也会让你抓狂。返回值。当你排除万难,终于拿到结果的时候,或许会一脸懵逼……因为除了自然语言接口外,图像和声音的返回值大多是经 base64 编码后的数据。你需要自己对这些数据进行处理、存储或展示。而如果你像我一样要把几个接口的功能串联起来,那么等待你的将是各种数据、文件类型的转换。好在 Python 在这方面还算方便,不然真的会痛不欲生。
所以,看起来只是简单的接口调用,对于经验不多的开发者来说,也不是容易的事。但这些光靠看是看不出来的,你必须亲手写过才能体会。写了之后就会发现,一些坑我早就给过预警。不用太过纠结于哪个教程更好,自己动起手来才是最好。