google-api-ruby-client当前用户没有足够的权限来执行请求的操作

时间:2014-06-19 12:30:46

标签: ruby google-api in-app-purchase google-api-ruby-client

我使用google-api-ruby-client google-api-ruby-client作为我的后端服务器验证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."}}>

这让我很烦恼。任何人都可以帮助我吗?

0 个答案:

没有答案