使用Swagger从NodeJS调用Wordnik API

时间:2016-06-03 15:03:06

标签: javascript node.js api swagger wordnik

我在尝试通过Swagger(NodeJS)使用Wordnik API时遇到问题。

我正在尝试遵循此文档:swagger-api

可以在此处创建Wordnik API:hhttp://developer.wordnik.com/docs.html#!/ word / getRelatedWords_get_4

Wordnik API的JSON说明:hhttp://developer.wordnik.com/v4/word.json

我试图使用以下参数调用GET /word.json/{word}/relatedWords方法:

  

{word:" cars",useCanonical:true,relationshipTypes:" synonim",limitPerRelationshipType:10}

Wordnik API需要验证,根据我编写以下代码的swagger-api文档:

 var Swagger = require('swagger-client');

            var client = new Swagger({
                url: 'http://developer.wordnik.com/v4/word.json',

            success: function() {
                client.word.getRelatedWords({word:"cars",useCanonical:true,relationshipTypes:"synonim",limitPerRelationshipType:10}, function(success){
                            console.log('succeeded and returned this object: ' + success.obj);
                        },
                        function(error) {
                            console.log('failed with the following: ' + error.statusText);
                        });
                },
                authorizations: {

                    api_key: new Swagger.ApiKeyAuthorization('api_key', 'MY_WORDNIK_API_KEY', 'query'),
                }
            });

我的主要问题是我不知道如何正确编写代码以使用该参数调用该方法。上面写的代码返回了这个错误:

  

以下内容失败:{"消息":"未授权","键入":   "错误"}

关于如何编写代码来进行调用的任何想法?

1 个答案:

答案 0 :(得分:2)

两件事:一,Wordnik的Swagger网址应为     http://api.wordnik.com/v4/word.json

二,你需要使用'同义词'而不是' synonim'。

我尝试了这两个更改的代码,它对我来说很好。

另外,我不确定你为什么在这里使用Swagger.js?它肯定更酷,但您可以通过请求调用API,例如:

<link rel="shortcut icon" href="<?php bloginfo('template_directory'); ?>/images/chick.png">
    <link rel="shortcut icon" href="<?php bloginfo('template_directory'); ?>/images/chick.svg">