Onesignal : included_segments 必须是一个字符串数组

Onesignal : included_segments must be an array of strings

我想通过 API 在 PHP 项目上发送推送通知。

这是我使用的基本代码

$client = new GuzzleHttp\Client([
            'base_uri' => 'https://onesignal.com/api/v1/',
            'headers' => [
                'Authorization'=> 'Basic '. config('onesignal.rest_api_key'),
                'Content-Type' => 'application/json'
             ]]);

$response = $client->post('notifications', [
                    'form_params'=>[
                        'app_id' => config('onesignal.app_id'),
                        'included_segments' => ['All'],
                        'contents' => ["en"=> "Un nouveau cas de suspect vient d'être confirmé à Kinshasa"]
                    ]]) ;

当我执行它时,$response->getBody()->getContents() return this

{"errors":["included_segments must be an array of strings"]}

我不知道Array of string

是什么意思

这可能太愚蠢了,通过使用除 Guzzle 之外的其他 HTTP 客户端库解决了这个问题。

我不知道为什么,但我使用了 https://github.com/php-curl-class/php-curl-class 并且使用相同的逻辑,我解决了我的问题!

希望对大家有所帮助!