Purchases.products: get一直运作良好,直到2周前。但是,它突然开始返回错误。 (我没有更改任何选项)
它仍然可以通过POST
,https://accounts.google.com/o/oauth2/token
,grant_type
,client_id
(但通过client_secret
向refresh_token
的{{1}}请求来刷新令牌返回了访问令牌,403
发生如下错误。
{
"error": {
"errors": [
{
"domain": "androidpublisher",
"reason": "permissionDenied",
"message": "The current user has insufficient permissions to perform the requested operation."
}
],
"code": 401,
"message": "The current user has insufficient permissions to perform the requested operation."
}
}
这是代表Purchases.products: get
的错误率的Google仪表板
我发现了the question,但仍然无法正常工作。
----------编辑----------
我想描述更多细节。我不知道这是不是正确的方法,因为我实际上只是在修复某人做过的旧版系统。
以上过程(刷新令牌并请求购买信息)在服务器端完成。供服务器端验证购买信息APP发送是否正确。
APP发送购买信息时,服务器端只需调用具有预定义属性(client_id,client_secret,grant_type)的HTTP请求(POST和GET)即可。
这意味着任何地方都没有登录过程。
此外,我使用的client_id
和client_secret
似乎是通过以下图片中的create-credentials在google-developer-console中创建的,而不是在注册APP时创建的。
----------编辑----------
我尝试使用所有者帐户重新创建client_id
。屏幕截图来自google developer console->IAM&Admin->IAM
但是,它仍然是相同的错误。
答案 0 :(得分:1)
“当前用户的权限不足,无法执行所请求的操作。”
您当前已通过身份验证的用户不再有权访问您尝试访问的数据。要么再次赋予用户访问权限,要么使用具有访问权限的用户登录。
ClientId
当您希望使用Google API时,必须注册您的应用程序。当您这样做时,google为您提供了一个客户ID。这会在您运行应用程序时将其标识为google。
访问用户数据
要访问私人用户数据,您必须拥有数据所有者的权限才能访问它。您的应用程序运行(由客户端ID表示),系统将提示用户登录google,并同意您的应用程序访问其数据。
如果用户失去对他们已授予您的应用程序访问权限的数据的访问权,则会失去对应用程序的访问权限。