File_Get_Contents () работает, но клиент automattic / woocommerce не работает.[Woocommerce_rest_cannot_view] - PullRequest
0 голосов
/ 23 октября 2018

Я могу получать заказы из своего магазина с помощью простого file_get_contents (), но не могу заставить работать php-библиотеку automattic / woocommerce.И под «работой» я подразумеваю, что он подключается и пытается отозвать заказы, но магазин этого не позволяет.(ошибка: [woocommerce_rest_cannot_view]).Я успешно выполнил заказы с библиотекой при другой установке woo.

Вот мой код: (я немного поиграл с опциями, не повезло)

function d($var){var_dump($var);}

$woocommerce = new Client(
    "https://{$domain}.com/", 
    $ckey, 
    $csec, 
    array( 'wp_api' => true
         ,'version' => 'wc/v2' 
         ,'verify_ssl' => false
         ,'queryStringAuth' => false
        )
);

try {
   $results = $woocommerce->get('orders');
} catch (HttpClientException $e) {
   d( $e->getMessage() );
        // Error: Sorry, you cannot list resources. [woocommerce_rest_cannot_view]
   d(  $e->getRequest()->getUrl() );
        // https://example.com/wp-json/wc/v2/orders 
   d(  $e->getRequest()->getparameters() ); 
       // empty array 
}


$res = json_decode(file_get_contents("https://{$domain}.com/wp-json/wc/v2/orders?consumer_key={$ckey}&consumer_secret={$csec}&per_page=99"));
d($res );
// works, full list of orders.

1 Ответ

0 голосов
/ 24 октября 2018

После недолгого просмотра документации, которую вы разместили в комментариях: прочитайте документы!Особенно часть о $lastRequest->getBody()

Вы только делаете запрос на получение, но не читаете тело ответа.

...