我在将 klaviyo 与 laravel 集成时遇到了这个错误
Posted
技术标签:
【中文标题】我在将 klaviyo 与 laravel 集成时遇到了这个错误【英文标题】:I hit this error while integrating klaviyo with laravel 【发布时间】:2021-10-26 21:30:31 【问题描述】:我正在使用this package As SDK。所以基本上我想要实现的是将用户添加到列表中,但具有同意状态或电子邮件和短信,我从我自己的问题的一个答案中找到的是这段代码。所以我尝试了它,但它又遇到了另一个错误。
TypeError
Cannot access offset of type string on string
代码来自@Ohgodwhy 的answer.
public function chnages()
$client = new Klaviyo('Your_Private_apikey', 'Public_Api_key');
$customer_properties = [
'$email' => "someone@mailinator9.com",
'$first_name' => "Thomas9",
'$last_name' => "Jefferson",
'phone_number' => "1234567890"
];
$consents = [];
if (request()->get('sms_consent', false))
$consents['sms_consent'] = true;
if (request()->get('email_consent', false))
$consents['email_consent'] = true;
foreach ($consents as $type => $consented)
if ($consented)
$consents['$consent'] = array_merge(
data_get($consents, '$consent', []),
[explode('_', $type)[0]] //e.g. sms, email
);
$client->lists->addSubscribersToList('LIST_ID', array_merge($customer_properties, $consents));
【问题讨论】:
【参考方案1】:$consents['$consent']
这不起作用,数组值可以是变量或字符串,但不能是字符串内的变量。此外,您的 foreach 中没有 $consent,要检查您需要执行的 $consents 键值$consents[$type]
data_get($consents, '$consent', [])
也一样,它必须是 data_get($consents, $consented, [])
【讨论】:
以上是关于我在将 klaviyo 与 laravel 集成时遇到了这个错误的主要内容,如果未能解决你的问题,请参考以下文章
尽管证书有效,但在将 ADFS 与服务提供商集成时出现 RevocationValidationException?
字节缓冲区的大小和形状不匹配。我在将我的 Ml 模型集成到 android 应用程序时遇到了这个错误
使用 webpack 在 Laravel 5 中将插件安装到 CKEditor 5