2014-06-20 9 views
9

सत्यापित करने के लिए मैं अंतिम दिनों में बहुत सी बातें की कोशिश की है खाता लेकिन अब मैं विचारों से बाहर हूँ :(उपयोग सेवा गूगल InAppPurchase

मैं एक inAppPurchase कि मेरे Android एप्लिकेशन में बनाया गया है सत्यापित करना चाहते हैं।

1) मैंने Google API कंसोल में एक नया सेवा खाता बनाया है।

1 क) सेवा खाते Unter अनुमतियाँ सूचीबद्ध है और है "देख सकते हैं" अनुमति

2) मैं अपने PHP स्क्रिप्ट से https://github.com/google/google-api-php-client

3) कोड स्निपेट के नवीनतम संस्करण का उपयोग कर रहा:

$client = new Google_Client(); 
$client->setApplicationName('myAppName'); 
$client->setClientId('123456789123-vxoasdt8qwe6awerc9ysdfmjysdfysf64werweria8fh.apps.googleusercontent.com'); 
$key = file_get_contents('/shr/data/stor/b516cexx3123asdf3988345d8133e7f86bfas2553-privatekey.p12'); 
$service_account_name = '[email protected]per.gserviceaccount.com'; 

$client->setScopes(array('https://www.googleapis.com/auth/androidpublisher')); 
$cred = new Google_Auth_AssertionCredentials($service_account_name, array('https://www.googleapis.com/auth/androidpublisher'), $key); 
$client->setAssertionCredentials($cred); 

try { 
    $service = new Google_Service_AndroidPublisher($client); 
    $googleApiResult = $service->inapppurchases->get($externalAppId, $externalProductId, $purchaseToken); 
} catch (Exception $e) { 
    var_dump($e->getMessage()); 
} 

4) गूगल से प्रतिक्रिया:

प्राप्त https://www.googleapis.com/androidpublisher/v1.1/applications/de.test.myapp/inapp/de.test.inapp.google.balance5eur/purchases/[PURCHASETOKEN]: (401) वर्तमान उपयोगकर्ता को अनुरोधित ऑपरेशन करने के लिए अपर्याप्त अनुमतियां हैं।

[PURCHASETOKEN] खरीद टोकन मैं गूगल से प्राप्त है

5) $ cred- स्थापना> उप = मेरे मेल पते पर '[email protected]' ऊपर

त्रुटि लाता है ओएथ 2 टोकन को रीफ्रेश करना, संदेश: '{"त्रुटि": "अनधिकृत_क्लिएंट", "त्रुटि_डिस्क्रिप्शन": "अनधिकृत क्लाइंट या अनुरोध में दायरा।" } '

उत्तर

29

ठीक है मुझे समाधान मिला!

आपको अपने एपीआई को अपने ऐप से कनेक्ट करना होगा। आपको अपने Google Play प्रकाशित पृष्ठ (https://play.google.com/apps/publish) पर जाना होगा और सेटिंग-> उपयोगकर्ता खाते & अधिकारों में सेवा खाता ईमेल के साथ उपयोगकर्ता को आमंत्रित करना होगा-> नए उपयोगकर्ता को आमंत्रित करें और इसे "वित्तीय रिपोर्ट देखें" के विशेषाधिकार दें।

इसका मतलब यह है कि, जबकि आप आमतौर पर Google Play कंसोल में सूचीबद्ध अपने डोमेन से कई उपयोगकर्ता देख सकते हैं (ईमेल: [email protected], भूमिका: वित्त; ईमेल: [email protected], भूमिका: प्रशासक), अब आप एक और उपयोगकर्ता जोड़ देंगे और उन्हें वित्त भूमिका देंगे (ईमेल: [email protected], भूमिका: वित्त)।

धन्यवाद मेरे लिए काम करता है, शुभकामनाएं!

+2

आपने मेरा दिन बचाया! आपका बहुत बहुत धन्यवाद! यह Google दस्तावेज़ में क्यों प्रलेखित नहीं है? – glutorange

+0

बहुत बढ़िया, धन्यवाद! आपने मुझे एक बड़े सिरदर्द से बचा लिया है ... – Mike

+0

दुर्भाग्यवश यह मेरे लिए इस मुद्दे को हल नहीं कर रहा है। वही त्रुटि प्रतिक्रिया। "आपके एपीआई को अपने ऐप से कनेक्ट करें" का क्या अर्थ है? क्या वह सेवा खाता ईमेल जोड़ रहा है? –

-1

मुझे लगता है कि आपको OAuth 2.0 वेब क्लाइंट का उपयोग करना होगा।

+0

यह एक टिप्पणी होना चाहिए – NSNoob

+0

एक टिप्पणी होना चाहिए। –

संबंधित मुद्दे