Algolia Search:列表索引和添加对象时出错

时间:2017-02-12 14:11:40

标签: javascript algolia

在我的后端,我想使用Javascript API客户端刷新Algolia搜索索引(清除,更新,删除)。 https://www.algolia.com/doc/api-client/javascript/manage-indices/

我可以访问相应的索引和搜索工作。但是,listIndexes和所有类型的索引操作都不起作用。知道我忽略了什么(相对较新的Algolia API)?

<script src="https://cdn.jsdelivr.net/algoliasearch/3/algoliasearch.min.js"></script>
         <script>
            $( document ).ready(function() {
                console.log( "ready!" );
                var client = algoliasearch('XXXX', 'YYYY');
                var index = client.initIndex('rd_showcase');
                // index search works
                index.search('image', function(err, content) {
                    console.log(content.hits);
                    console.log("search for image done");
                });
                index.search('image', function searchDone(err, content) {
                    console.log(err, content);
                });

                // error: 403 forbidden
                /*
                client.listIndexes(function(err, content) {
                    console.log(content);
                });
                */
                // error: 400 bad request
                client.copyIndex('rd_showcase', 'rd_showcase_20170212', function(err, content) {
                    console.log(content);
                });
            });
        </script>

1 个答案:

答案 0 :(得分:1)

从您在此处发布的代码中我可以看到您希望从前端JS代码执行此操作 - 任何有权访问网站的人都可以阅读代码。

出于安全原因,禁用数据操作方法以从前端代码使用。这些操作需要Admin API密钥才能进行数据操作,向有权访问该网站的任何人显示您的Admin API密钥是一个安全问题。

要执行clearlistIndices和其他数据敏感操作,您需要从后端/服务器端执行此操作。如果您想使用JavaScript,可以使用Node.js.如果您不关心语言,可以使用任何其他服务器端语言,如PHP,Ruby,Java,......