我正在尝试使用PHP.Below中的recurly.js接口获取订阅数据,代码如下:
require_once('lib/recurly.php');
Recurly_Client::$subdomain = 'https://subdomain.recurly.com/v2/subscriptions';
Recurly_Client::$apiKey = 'privatekey';
$subscriptions = Recurly_SubscriptionList::getActive();
print_r($subscriptions);
foreach ($subscriptions as $subscription) {
print_r($subscription);
}$subscriptions正在打印以下内容:
Recurly_SubscriptionList Object(
[_position:Recurly_Pager:private] => 0
[_objects:protected] =>
[_href:protected] => /subscriptions?state=active
[_type:protected] =>
[_client:protected] => Recurly_Client Object
(
[_apiKey:Recurly_Client:private] =>
[_acceptLanguage:Recurly_Client:private] => en-US
)
[_links:protected] => Array
(
)
)当$subscription打印nothing.What时,错误的结果不是订阅列表。
发布于 2017-11-15 14:30:58
由于print_r(gettype($subscription));是一个对象,因此不能将其视为数组。为了获得数组形式的对象属性,可以使用内置函数get_obj_vars。
您可以遵循以下代码:
require_once('lib/recurly.php');
Recurly_Client::$subdomain = 'https://subdomain.recurly.com/v2/subscriptions';
Recurly_Client::$apiKey = 'privatekey';
$subscriptions = Recurly_SubscriptionList::getActive();
foreach(get_obj_vars($subscription) as $key => $value) {
echo $key . ' => ' . $value;
}这基本上会在对象$subscriptions.中创建一个包含所有公共成员的数组但是,由于print_r($subscriptions);的输出只包含私有和受保护的成员,它实际上会返回一个空数组。
发布于 2017-12-12 02:05:46
订阅数组可以通过使用预格式化标签以可读的格式打印,如下所示。此外,请注意,您的子域是如何在代码中输入的更正。
<?php
require_once('lib/recurly.php');
Recurly_Client::$subdomain = '<mySubdomain>'; //Only enter the Recurly subdomain name here, not URL
Recurly_Client::$apiKey = 'privatekey';
$subscriptions = Recurly_SubscriptionList::getActive();
print_r($subscriptions);
foreach ($subscriptions as $subscription) {
//print_r($subscription);
echo '<pre>';
print_r (array($subscription));
echo '</pre>';
}
?>
发布于 2018-04-21 20:00:12
目前,您已经编写了导致该问题的子域的完整URL。所以只需替换这一行
Recurly_Client::$subdomain = 'https://subdomain.recurly.com/v2/subscriptions';使用
Recurly_Client::$subdomain = 'your-subdomain-name'; // i.e devapp,myapp..etc你不需要写整个子域地址,你只需要传递你的子域名,这可以在configuration ->站点设置中找到(只需要子域名的名称)。
无论您的子域在注册时的名称是什么。
https://stackoverflow.com/questions/47300678
复制相似问题