2017-01-30 2 views
1

Я пытаюсь использовать laravel-wp-api, чтобы получить сообщения от a blog. Когда я использую Postman с http://idareyou.ee/blog//wp-json/wp/v2/posts, я получаю 200 OK HTTP response и Postman показывает результат JSON.Laravel Wordpress JSON REST API дает странную ошибку Curl

Следующие LaravelBlogControllergetPosts() метод печатает в браузере это Curl ошибка:

{"error":{"message":"cURL error 6: Couldn't resolve host '\u003Cwp_location\u003E' (see http:\/\/curl.haxx.se\/libcurl\/c\/libcurl-errors.html)"},"results":[],"total":0,"pages":0}

<?php 
namespace App\Http\Controllers; 
use Illuminate\Http\Request; 
use App\Http\Requests; 
use WpApi; 
class BlogController extends Controller 
{ 
    public function getPosts() 
    { 

    $posts = WpApi::posts('http://idareyou.ee/blog//wp-json/wp/v2/posts'); 
    echo json_encode($posts,true); 

    //return view('pages.blog', ['active'=>'navBlog'])->with('posts', $posts ); 
    } 
} 

В другом месте в моем приложении я успешно извлечения несколько фотографий из Instagram API, используя следующее. Нужна ли мне аналогичная функция fetchData в моем BlogController?

function fetchData($url){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 20); 
    $result = curl_exec($ch); 
    curl_close($ch); 
    return $result; 
} 

$result = fetchData("https://api.instagram.com/v1/users/......."); 
$result = json_decode($result, true); 
$lastFive = array_slice($result['data'], 0, 5); // returns last 5 instagram pics 

Может ли кто-нибудь дать мне какие-либо советы о том, что я делаю неправильно?

ответ

1

Я бы проверил конфигурационный файл для этой службы - думаю, вам нужно настроить конечную точку (домен блога) для своих вызовов. Поэтому, как только вы запустите php artisan vendor:publish, у вас должен быть определенный файл конфигурации в приложении/config - посмотрите, есть ли там параметр, который вам нужно изменить.

Надеюсь, это поможет!

+0

Спасибо, я думаю, что вы были правы. Я установил конечную точку в «конечную точку» => 'http: //idareyou.ee/blog//wp-json /', ', и теперь я получаю ошибку' 404' '{" error ": {" message ": «Ошибка клиента: 404», «код»: 404}, «результаты»: [], «total»: 0, «pages»: 0} ' –

+0

Правильно - вы тоже настроили свой вызов API? Я подозреваю, что теперь вы просто передаете свой относительный путь: '$ posts = WpApi :: posts ('wp/v2/posts');' (также, чтобы быть в безопасности, я удалял бы двойные слэши в вашей конечной точке, прежде "wp-json": "http://idareyou.ee/blog/wp-json/") – MacPrawn

+0

Спасибо. Теперь у меня есть конечная точка как «конечная точка» => 'http: //idareyou.ee/blog/wp-json /', 'и вызов, как вы предложили' $ posts = WpApi :: posts ('wp/v2/(«сообщение»: «Ошибка клиента: 404», «код»: 404}, «результаты»: [], «total»: 0, «pages»: : 0} ' –

Смежные вопросы