问题背景:
开发者在服务器端的服务中集成云数据库服务的Server SDK就可以在服务器上直接管理云侧数据库中的数据,调用它提供的接口,完成相关服务功能开发。可是有些开发者在开发在集成云数据库Server SDK后,在测试插入数据时,发生了报错:“errorCode: 2016, errorMsg: get accessToken fail”。下面是示例代码:
问题分析:
一般该报错是因为没有读取到Client ID,Client ID存储在项目凭据文件中。然后开始检查凭据的json文件是否有问题,json文件的获取方法可以参考该链接:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-get-started-server-0000001058092593#section1778162811430https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-get-started-server-0000001058092593#section1778162811430
项目凭据文件中的项目信息如下,将它与日志对比发现是一致的,排除了json文件和放置路径的错误:
如果项目凭据文件没有问题,而且读取到里面的Client ID,但是华为服务器没有收到请求也会发生2016报错,所以还有一种可能就是网络问题,在调用云数据库Server SDK,调用接口时需要互联网环境,如果使用的是工作内网或者代理,就有可能会出现请求发送失败,导致获取Access token失败。在更换了公网环境后,就没有再报错了。
解决方案:
所以如果调用云数据库API出现了2016的报错:
1.请检查您的认证凭据中的信息是否能与您的项目所对应。
2.请检查一下网络环境与代理,确保是在外网环境中。
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
标签:调用,数据库,凭据,AGC,Server,报错,2016 From: https://www.cnblogs.com/developer-huawei/p/16870404.html