web-dev-qa-db-ja.com

WooCommerceからの「リソースを一覧表示できません」エラーREST API

私はWordPres`を初めて使用し、WooCommerceプラグインを初めて使用し、WooCommerce REST APIをAndroidアプリで使用したいと考えています。

REST APIを有効にし、コンシューマーキーとコンシューマーシークレットを作成しました。

さて、このURLを使用しているときhttp://www.my-domain.com/wp-json/wc/v1/products/ブラウザでAPIが機能しているかどうかを確認すると、次のエラーが発生します。

{"code": "woocommerce_rest_cannot_view"、 "message": "申し訳ありませんが、リソースを一覧表示できません。"、 "data":{"status":401}}

サーバーにSSLがインストールされていません。どうすればこれを修正できますか? PHPクライアントライブラリを使用する必要がありますか?

5
DD77

「新しい」v2API(「レガシーv2」APIではない)の場合:

  • 安全な接続(HTTPS)の場合、「基本認証」を使用する必要があります。
  • 非セキュア接続(HTTP)の場合、「oAuth1認証」を使用する必要があります。

間違った接続で間違った認証を使用すると、401応答メッセージが表示されます。

これは、WooCommerce APIドキュメントで説明されています: https://woocommerce.github.io/woocommerce-rest-api-docs/#authentication-over-https

また、通常はCKとCSをヘッダーフィールドとして渡しますが、サーバーの構成方法によっては、ヘッダーフィールドが正しく解析されない場合があるため、CKとCSを含めると成功する可能性があることにも注意してください。パラメータとしてURLに:

https://website.tld/wp-json/wc/v1/products?consumer_key = [key]&consumer_secret = [secret]

10
KolonUK

サーバーから401応答を取得しています。この応答は、そのRESTエンドポイントに対して承認されていないことを示します。woocommerceAPIを使用するには、リクエストに承認を含める必要があります。

ここに例とドキュメントがあります: http://woocommerce.github.io/woocommerce-rest-api-docs/#authentication

Woocommerceの例にはJavaの例は含まれていません(これがAndroidアプリ)に使用しているものだと思います)。ただし、サードパーティがあります= Java woocommerce用のライブラリ。ここにあります: https://github.com/icoderman/wc-api-Java

私はそのライブラリを個人的に使用していませんが、woocommerceapiからデータを承認して正しく要求するために必要なすべての関数が含まれている必要があります。

1
DeezPineapples