Android 出版商许可仅拒绝支票付款(其他 api 成功)
Android publisher permission Denied only check payment(other api successfully)
我正在尝试致电 api Purchases.products: get 来验证您的购买
结果是这样
{
"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."
}
}
- 项目绑定正确
- 一个拥有所有者权限的新服务帐户已经created
- 此服务帐户已被授予 google play console
中的权限
Documentation这里说的是你能做什么
收到的令牌不仅适用于任何其他的购买检查api它returns结果(Inappproducts:列表有效)
验证 url 构建正确,因为如果你得到一个令牌 client to server 那么这个 api 也可以工作 - 但我需要一个服务器到服务器 auth
scopes = ['https://www.googleapis.com/auth/androidpublisher']
authorization = Google::Auth.get_application_default(scopes)
uri = "https://www.googleapis.com/androidpublisher/v3/applications/#{ENV['ANDROID_PACKAGE_NAME']}/purchases/products/#{purchasable.purchase_uuid}/tokens/#{purchase_token}?access_token=#{authorization.fetch_access_token!['access_token']}"
response = RestClient::Request.execute method: :get,
url: uri,
headers: {'Content-Type':'application/json'}
和
file = File.read('config/google_key.json')
values = JSON.parse(file)
oauth = Signet::OAuth2::Client.new(
issuer: values[:client_email]",
audience: "https://www.googleapis.com/oauth2/v4/token",
scope: "https://www.googleapis.com/auth/androidpublisher",
client_id: values[:client_id],
signing_key: OpenSSL::PKey::RSA.new(values[:private_key]),
)
jwt = oauth.to_jwt
url = "https://www.googleapis.com/oauth2/v4/token"
begin
response = RestClient::Request.execute method: :post,
url: url,
headers: {'Content-Type': 'application/json'},
payload: {
grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer",
assertion: jwt
}
result = JSON.parse response.body
rescue => e
puts e.response.to_str
result = JSON.parse(e.response.to_s)
end
我期待这个result
更新 1
我爱google。
在使用我的第一个服务帐户 7 天后,它起作用了 - 但是 7 天!!!! 7天 !!!!简直恐怖
Google 的朋友们,您需要 7 天才能访问 api!! - 这太荒谬了
好的,您需要执行此操作才能获得访问权限
- 在 google 云中创建服务帐户(管理员权限)
- 创建 google 游戏机和 link 项目 google 云
- 在 google 游戏控制台中添加电子邮件服务帐户
- 1 周后即可生效
我正在尝试致电 api Purchases.products: get 来验证您的购买 结果是这样
{
"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."
}
}
- 项目绑定正确
- 一个拥有所有者权限的新服务帐户已经created
- 此服务帐户已被授予 google play console 中的权限
Documentation这里说的是你能做什么
收到的令牌不仅适用于任何其他的购买检查api它returns结果(Inappproducts:列表有效)
验证 url 构建正确,因为如果你得到一个令牌 client to server 那么这个 api 也可以工作 - 但我需要一个服务器到服务器 auth
scopes = ['https://www.googleapis.com/auth/androidpublisher']
authorization = Google::Auth.get_application_default(scopes)
uri = "https://www.googleapis.com/androidpublisher/v3/applications/#{ENV['ANDROID_PACKAGE_NAME']}/purchases/products/#{purchasable.purchase_uuid}/tokens/#{purchase_token}?access_token=#{authorization.fetch_access_token!['access_token']}"
response = RestClient::Request.execute method: :get,
url: uri,
headers: {'Content-Type':'application/json'}
和
file = File.read('config/google_key.json')
values = JSON.parse(file)
oauth = Signet::OAuth2::Client.new(
issuer: values[:client_email]",
audience: "https://www.googleapis.com/oauth2/v4/token",
scope: "https://www.googleapis.com/auth/androidpublisher",
client_id: values[:client_id],
signing_key: OpenSSL::PKey::RSA.new(values[:private_key]),
)
jwt = oauth.to_jwt
url = "https://www.googleapis.com/oauth2/v4/token"
begin
response = RestClient::Request.execute method: :post,
url: url,
headers: {'Content-Type': 'application/json'},
payload: {
grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer",
assertion: jwt
}
result = JSON.parse response.body
rescue => e
puts e.response.to_str
result = JSON.parse(e.response.to_s)
end
我期待这个result
更新 1
我爱google。
在使用我的第一个服务帐户 7 天后,它起作用了 - 但是 7 天!!!! 7天 !!!!简直恐怖
Google 的朋友们,您需要 7 天才能访问 api!! - 这太荒谬了
好的,您需要执行此操作才能获得访问权限
- 在 google 云中创建服务帐户(管理员权限)
- 创建 google 游戏机和 link 项目 google 云
- 在 google 游戏控制台中添加电子邮件服务帐户
- 1 周后即可生效