php - Google InAppPurchase को सत्यापित करने के लिए सेवा खाते का उपयोग करें




android api (2)

मैंने आखिरी दिनों में बहुत सी चीजों की कोशिश की है, लेकिन अब मैं विचारों से बाहर हूं :(

मैं अपने एंड्रॉइड ऐप में बनाया गया एक inAppPurchase सत्यापित करना चाहता हूं।

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

1 ए) सेवा खाते की अनुमति नहीं दी गई है और अनुमति "" देख सकते हैं

2) मैं https://github.com/google/google-api-php-client का सबसे वर्तमान संस्करण का उपयोग कर रहा हूं

3) मेरी PHP स्क्रिप्ट से कोड स्निपेट:

$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] मैं Google से प्राप्त की जाने वाली खरीदारी टोकन है

5) $ cred-> sub = '[email protected]' सेट करना मेरे मेल पते पर लाता है

OAuth2 टोकन को रीफ़्रेश करने में त्रुटि, संदेश: '{"त्रुटि": "अनधिकृत_क्लाइंट", "त्रुटि_विवरण": "अनुरोध में अनधिकृत ग्राहक या क्षेत्र।" } '


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

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

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

धन्यवाद मेरे लिए, शुभकामनाएँ!


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





publisher