Я следую примеру в https://getstream.io/get_started/?language=php чтобы понять, как работает gettream 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
есть идеи, ребята?
Вы должны предоставить руководство — мы должны сначала зарегистрироваться, чтобы получить его, это не может произойти.
Изменить вторую строку на
$client = new GetStream\Stream\Client(KEY, SECRET);
Позже я нашел твик к проблеме. Проблема с библиотекой жрет, которая пытается проверить мой сертификат. Поскольку мне нужен был способ проверить его на локальном сервере, прежде чем переходить на рабочий сервер, мне пришлось изменить конструктор клиента в библиотеке 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);
}
Я выясню, почему это не работает на Xampp для вас. Можете ли вы выслать нам свои варианты cURL, версию библиотеки и т. Д.?
Тем временем, основываясь на рабочем процессе, который вы создали:
… Джеку нужно будет указать количество действий, которые нужно скопировать, после подачи новостей Криса, иначе Джек будет видеть только обновления с этого момента; Джек никогда не увидит «картинку: 10» от Криса. Есть третий необязательный параметр, который вы можете отправить с помощью followFeed (), который указывает, сколько элементов нужно скопировать в фид Джека, когда вы начнете подписываться:
$jack->followFeed('user', 'chris', 100);
Или вы можете переместить шаг 4 между шагами 1 и 2. Если Джек следует за Крисом до того, как Крис добавляет фотографию, он должен появиться в ленте Джека.