首页 > 解决方案 > Google AndroidPublisher 订阅确认如何

问题描述

我为我的 Android 应用程序创建了一个订阅,这是我确认订阅分配的代码,但我收到一个错误

$packageName   =  "com.example.srkn"; 
$productId         =  "com.example.srkn.aylik";
$token =  "<some token here>";

require 'vendor/autoload.php';
$client = new \Google_Client();
$client->setAuthConfig('ts.json');
$client->addScope('https://www.googleapis.com/auth/androidpublisher');
$service = new \Google_Service_AndroidPublisher($client);

$postBody = "okey";
$para = "test";

$purchase = $service->purchases_subscriptions->acknowledge($packageName, $productId, $token,$postBody,$para);

//echo json_encode($purchase);

致命错误:未捕获的 TypeError:传递给 Google_Service_AndroidPublisher_Resource_PurchasesSubscriptions::acknowledge() 的参数 4 必须是 Google_Service_AndroidPublisher_SubscriptionPurchasesAcknowledgeRequest 的实例,给出的字符串,在第 17 行的 /home/serkanka/public_html/dgr/onayla.php 中调用并在 /home/serkanka 中定义/public_html/dgr/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesSubscriptions.php:40 堆栈跟踪:#0 /home/serkanka/public_html/dgr/onayla.php(17):Google_Service_AndroidPublisher_Resource_PurchasesSubscriptions ->确认('com.text.spec.s...','com.text.spec.s...','jlkehndmfjoaenc...','测试','测试') #1 {main} 在第 40 行抛出 /home/serkanka/public_html/dgr/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesSubscriptions.php

标签: phpgoogle-api-php-client

解决方案


postbody(第 4 个参数)应该是Google_Service_AndroidPublisher_SubscriptionPurchasesAcknowledgeRequest的一个实例

您可以像这样在对象上设置 developerPayload:

$requestBody = new Google_Service_AndroidPublisher_SubscriptionPurchasesAcknowledgeRequest();
$requestBody->setDeveloperPayload('your_developer_payload');

推荐阅读