2

我是一名 Android 开发人员,对 Wix 的了解为 0。是否可以从 Wix Store 获取产品列表以在 Android 应用程序上显示它。我找不到任何适用于 Android 的文档。

这是我的测试网站 https://sakurafukuyoshi031.wixsite.com/juhachipawnshop/shop-1

我只是想知道是否可以获取数据,以便我可以通过使用 javascript 或 webview javascript 注入方法从他们的 API 在我的应用程序上显示它谢谢

4

2 回答 2

1

目前还没有 Wix 商店的 API,但它即将推出 - https://www.wix.com/code/home/coming-soon

于 2018-02-21T08:55:43.543 回答
1

有一种方法可以通过使用wix-http-functions创建 API 来公开集合,但它似乎仅限于公开自定义集合 - 而不是 Wix 的本机集合(商店/收藏或商店/产品)。wix-http-functions上的示例很容易解释。下面是它的修改版本:

// In http-functions.js

import {ok, notFound, serverError} from 'wix-http-functions';
import wixData from 'wix-data';

// URL looks like:
// https://www.storename.com/_functions/storeProducts/1
// or
// https://user.wixsite.com/mysite/_functions/storeProducts/1


export function get_storeProducts(request) {
  let options = {
    "headers": {
      "Content-Type": "application/json"
    }
  };

  let pagesize=50;

  // query a collection to find matching items
  return wixData.query("Stores/Products") 
    // If you replace the "Stores/Products" with a custom collection name it works
    .skip((request.path[0] - 1) * pagesize)
    .limit(pagesize)
    .find()
    .then( (results) => {
      // matching items were found
      if(results.items.length > 0) {
        options.body = {
          "items": results.items
        };
        return ok(options);
      }
      // no matching items found
      options.body = {
        "error": `'${request.path[0]}' was not found`
      };
      return notFound(options);
    } )
    // something went wrong
    .catch( (error) => {
      options.body = {
        "error": error
      };
      return serverError(options);
    } );
}

不幸的是,这会导致“产品”等本机集合出现错误

{"error":{"name":"Error","errorGroup":"User","code":"WD_SCHEMA_DOES_NOT_EXIST"}}

(我找不到任何有关该错误的文档 - 所以这就是我卡住的地方)

如果您随后在“数据库”下的 Wix 代码中创建自定义集合,将产品从“商店/产品”导出到 CSV - 然后将 CSV 导入自定义集合(最后发布/同步自定义集合),您可以解决通过自定义 API 公开本机产品目录的明显限制。这并不理想 - 但如果您的目录不经常更改,它可能会起作用。

于 2018-08-05T23:13:18.957 回答