簡體   English   中英

WooCommerce REST API錯誤:無效的URL,未找到WC API

[英]WooCommerce REST API error: Invalid URL, no WC API found

我正在嘗試從WooCommerce REST API客戶端庫開始,但一直收到此錯誤:

無效的URL,在http:// [my-store] .com / wc-api / v2 /上找不到WC API-確保您的商店URL正確並啟用了漂亮的永久鏈接。

根據此線程 ,漂亮的永久鏈接已啟用並設置為帖子名稱。 通過瀏覽器手動訪問URL會提供一些WooCommerce設置的JSON輸出,這就是為什么我認為商店URL是正確的。 (就像我正在研究的域一樣。)我也嘗試插入新的使用者和秘密密鑰,但這無濟於事。

對代碼的一些研究使我進入了類wc-api-client.php。

$index = @file_get_contents( $this->api_url );

// check for HTTP 404 response (file_get_contents() returns false when encountering 404)
// this usually means:
// 1) the store URL is not correct (missing sub-directory path, etc)
// 2) pretty permalinks are disabled
if ( false === $index ) {
    throw new WC_API_Client_Exception( sprintf( 'Invalid URL, no WC API found at %s -- ensure your store URL is correct and pretty permalinks are enabled.', $this->api_url ), 404 );

$ index確實等於false,這意味着file_get_contents得到了404響應。 在商店目錄中創建/ wc-api / v2 /目錄無濟於事。

我無法找到為什么file_get_contents在瀏覽頁面時會收到404響應的原因,但顯示的是非空的JSON字符串。 我覺得我缺少基本的東西。

任何幫助表示贊賞!


編輯:找到了解決方案! 我今天又遇到了這個問題,並對關於在JSON上返回FALSE的file_get_contents()進行了一些研究。 這個線索使我走上了正確的軌道。 在PHP.ini中設置allow_url_fopen = On可解決這種情況。 了解其他人是否遇到此問題可能很有用。

我有一個類似的問題。 我的問題是由iTheme Security中的一種設置引起的。 在被禁止的用戶下->啟用HackRepair.com的黑名單功能。 如果啟用了列表,則itheme將在.htaccess中保留允許的用戶代理的ist。 當您使用php的file_get_contents時,沒有用戶代理,因此腳本最終被阻止了。

如果其他人對此有疑問,建議您瀏覽.htaccess文件,以查看是否有可疑之處。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM