Ошибка при подключении к gettream php

Я следую примеру на https://getstream.io/get_started/?language=php чтобы понять, как работает getstream io. Я столкнулся с ошибкой, которая запутала меня.

 require_once './vendor/autoload.php';
 $client = new GetStream\Stream\Client('YOUR_API_KEY',     'API_KEY_SECRET');
$chris = $client->feed('user', 'chris');
 // I replaced Your api key and api key secret with the one         in my dashboard
// Add an activity; message is a custom field - tip: add unlimited         custom fields!
$data = array(
"actor" => "chris",
"verb" => "add",
"object" => "picture:10",
"foreign_id" => "picture:10",
"message" => "Beautiful bird. Absolutely beautiful. Phenomenal bird."
);

$chris->addActivity($data);


// jack's 'timeline' feed follows chris' 'user' feed:
$jack = $client->feed('timeline', 'jack');
$jack->followFeed('user', 'chris');


// Read the 'timeline' feed for jack, chris' post will now show up: 
$activities = $jack->getActivities(10);
var_dump($activities);

В моем файле composer.json я сделал это

       "require": {
        "get-stream/stream": "2.2.8"
        }

Я попробовал приведенный выше код на моей локальной машине на Windows, но получил эту ошибку

Fatal error: Uncaught exception 'GuzzleHttp\ExceptionConnectException'     with message 'cURL error 28: Operation timed out after 0 milliseconds with 0 out of 0 bytes received (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)' in C:\xampp\htdocs\CorpersMate\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 186
 GuzzleHttp\Exception\ConnectException: cURL error 28: Operation timed out after 0 milliseconds with 0 out of 0 bytes received (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in C:\xampp\htdocs\CorpersMate\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 186

есть идеи, ребята?

3 ответа

Решение

Позже я нашел твик к проблеме. Проблема с библиотекой жрет, которая пытается проверить мой сертификат. Поскольку мне нужен был способ протестировать его на локальном сервере перед переходом на рабочий сервер, мне пришлось изменить конструктор клиента в библиотеке guzzle, и это решило проблему для меня.

 // file name is Client.php 

  public function __construct(array $config = ['verify' => false]) {
    if (!isset($config['handler'])) {
        $config['handler'] = HandlerStack::create();
    }

    // Convert the base_uri to a UriInterface
    if (isset($config['base_uri'])) {
        $config['base_uri'] = Psr7\uri_for($config['base_uri']);
    }

    $this->configureDefaults($config);
}

Вы должны предоставить руководство - мы должны сначала зарегистрироваться, чтобы получить его, это не может произойти.

Изменить вторую строку на

$client = new GetStream\Stream\Client(KEY, SECRET);

Я выясню, почему это не работает на Xampp для вас. Можете ли вы выслать нам свои варианты cURL, версию библиотеки и т. Д.?

Тем временем, основываясь на рабочем процессе, который вы создали:

  1. создать канал для Криса
  2. построить деятельность и поставить ее на канал Криса
  3. создать канал для Джека
  4. Джек следует за Крисом
  5. прочитайте ленту Джека и ожидайте увидеть активность Криса

... Джеку нужно будет указать количество действий, которые нужно скопировать, когда он будет подписан на ленту Криса, иначе Джек будет видеть только обновления с этого момента; Джек никогда не увидит "картинку:10" от Криса. Есть третий необязательный параметр, который вы можете отправить с помощью followFeed(), который указывает, сколько элементов нужно скопировать в фид Джека, когда вы начнете подписываться:

$jack->followFeed('user', 'chris', 100);

Или вы можете переместить шаг 4 между шагами 1 и 2. Если Джек следует за Крисом до того, как Крис добавляет фотографию, он должен появиться в ленте Джека.

Другие вопросы по тегам