我想发送一个通知到(段)目标像[“活动用户”]与参数“included_segments”,但当我调用API使用CURL在PHP我得到这个错误:(请包含区分大小写的Authorization标头:基本或不记名令牌="“(具有有效的REST API密钥)。
然而,当我将目标从参数“included_segments”更改为“included_player_ids”时,代码运行良好。。但我想要“included_segments”。。请帮助我!
LINK to REST API Reference
- 这是我的代码:`
function Copts($titlEN,$titlAR,$contEN,$contAR,$icon,$img){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://onesignal.com/api/v1/notifications',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"app_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"included_segments": ["Active Users"],
"contents": {"en": "'.$contEN.'"},
"headings": {"en": "'.$titlEN.'"},
"global_image": "'.$img.'",
"large_icon": "'.$icon.'"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json; charset=utf-8',
'Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
)
));
return json_decode(curl_exec($curl),true);
}
`
2条答案
按热度按时间vjhs03f71#
如果您将值显示给以下对象,可能会有所帮助:
($titlEN,$titlAR,$contEN,$contAR,$icon,$img)
将此添加到您的
CURLOPT_HTTPHEADER
我看了文档中的curl示例
这是他们的例子:
下面是使用https://curlconverter.com/php/将curl转换为PHP的过程:
我认为所有的
\n
和多余的空格都可以删除。我不建议使用
使用此选项制作HTTPHEADER:
我更喜欢单独的
curl_setopt()
而不是
curl_setopt_array()
但我老了,快70岁了
我的个人资料照片是最新的。
ddhy6vgd2#
问题是REST API KEYS不正确。USER AUTH KEY(而不是REST API KEYS)在以下位置找到了它:
Jmeter 板-〉设置-〉密钥和ID
请参阅此处的文档:https://documentation.onesignal.com/docs/accounts-and-keys
。