要在您的客户端应用程序中验证并获取由 Google 应用程序内购买产生的购买令牌的详细信息,请使用以下代码 PHP:
putenv('GOOGLE_APPLICATION_CREDENTIALS=/home/mydir/credentials.json');
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope('https://www.googleapis.com/auth/androidpublisher');
$service = new Google_Service_AndroidPublisher($client);
$purchase = $service->purchases_products->get($packageName, $skuID, $purchaseToken);
然后,您可以通过通常的方式访问您需要的所有信息,例如
echo $purchase['orderId'];
访问者名称的完整列表可在此处的 Google 文档中找到https://developers.google.com/android-publisher/api-ref/purchases/products
packageName 是您的应用程序包的名称,skuID 是被管理产品的字符串 SKU ID,您可以在 Google Developer Console 中创建它。购买令牌是在您的客户端应用程序内成功购买应用程序结果时返回给您的令牌,因此您需要通过 HTML 上的 POST 命令将其发送到您的服务器端点。不要忘记使用 SSL/TLS 来执行此操作。
当您在设置/API 访问权限下创建新服务帐户时,会自动从 Google Developer Consoler 下载 credentials.json 文件。
这里也是 JavaScript 版本:
const { google } = require('googleapis');
const auth = new google.auth.GoogleAuth({
keyFile: path.join(__dirname, 'credentials.json'),
scopes: 'https://www.googleapis.com/auth/androidpublisher',
});
const client = await auth.getClient();
google.options({auth: client});
const androidpublisher = google.androidpublisher({ version: 'v3' });
const res = await androidpublisher.purchases.products.get({
packageName: 'your.package.name',
productId: ‘your_sku_id',
token: your_purchase_token,
});
console.log(res.data);
有关 API 访问的一般详细信息,请参阅Google API 文档(例如此处也是如此)(上述代码可以很容易地调整为与其他 API 一起使用)。