最近公司的一款安卓应用,用户购买商品后,服务端在调用谷歌接口进行验单的时候,谷歌接口会报projectNotLinked
的错误,错误如下:
{
"error": {
"errors": [{
"domain": "androidpublisher",
"reason": "projectNotLinked",
"message": "The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console."
}],
"code": 403,
"message": "The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console."
}
}
一般来说遇到这个错误,十有八九是google play console没有配置好导致的,于是到play console后台配置好了API-project
、service account
和账号授权
(详细配置过程可参考这里)。可是配好后还是会报错,一开始以为是谷歌接口有缓存的原因,配置好后需要一段时间来生效。但到了第二天后,报错依然没有消失,于是怀疑是其它的原因,到stackoverflow上搜到了一个这样的答案:
意思就是说,内购商品需要在关联API-project之后创建,如果顺序反过来,即使配置好了也会报projectNotLinked
的错误(奇葩的设定…)。如果你跟我一样搞反了顺序,一个解决方法是创建一个新的内购商品(临时用,创建好后删掉即可)。
至此问题解决:)