我使用的是谷歌的API-红宝石客户端谷歌的API-红宝石客户对我的后端服务器进行验证的Android inapppurchase代码(见下图):
require 'google/api_client'
require 'google/api_client/client_secrets'
require 'google/api_client/auth/installed_app'
API_VERSION = 'v1.1'
service_account_email = 'xxx@developer.gserviceaccount.com' # Email of service account
key_file = 'xxx.p12' # File containing your private key
key_secret = 'notasecret' # Password to unlock private key
scope_url = 'https://www.googleapis.com/auth/androidpublisher'
client = Google::APIClient.new(
:application_name => 'Ruby Inapppurchases validate',
:application_version => '1.0.0')
key = Google::APIClient::KeyUtils.load_from_pkcs12(key_file, key_secret)
client.authorization = Signet::OAuth2::Client.new(
:token_credential_uri => 'https://accounts.google.com/o/oauth2/token',
:audience => 'https://accounts.google.com/o/oauth2/token',
:scope => scope_url,
:issuer => service_account_email,
:signing_key => key)
client.authorization.fetch_access_token!
publisher = client.discovered_api('androidpublisher', 'v1.1')
p client.execute(
api_method: publisher.inapppurchases.get,
parameters: {
packageName: 'com.examble',
productId: 'android.test.purchased',
token: "inapp:com.examble:android.test.purchased"
}).data
我遵循的API指令,但我的错误是如下:
#<Google::APIClient::Schema::Androidpublisher::V1_1::InappPurchase:0x3fd021a64240
DATA:{"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."}}>
这困扰了我很长一段时间。 谁能帮我?