Ошибка «401 (неавторизовано)» при получении API nytimes в коде React.js - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь получить nytimes api для тестирования некоторого кода, но получаю ту же ошибку «401 (не авторизовано)».Я пробовал код на node.js, а также пытался встраивать код в HTML, но оба раза один и тот же результат.Кажется, я не могу точно определить проблему.

Я пробовал код с командой fetch вместо $ .getJSON, но тот же результат.Я установил jquery npm на node.js, а также ссылался на библиотеку в html вместе с библиотеками реагирования и babel, когда пытался встроить код в файл html.

        class MyApp extends React.Component{
            constructor(props){
                super(props);
                this.state = {articles: []};
            }
            componentDidMount(){                    
                var url= 
            'https://api.nytimes.com/svc/search/v2/articlesearch.json?' 
                + 'api-key=xxxxxxxxxxxxxxxxxxxxxxx'; //used the valid key

                $.getJSON(url, function(data, status){
                    return this.setState({articles: this.parse(data)});
                }.bind(this));
            }
            parse(results){
                if(!results || !results.response){
                    return [];
                }
                var articles = results.response.docs;
                var parsedArticles = [];
                for (var i = 0; i < articles.length; i++){
                    var article = articles[i];
                    if (article.multimedia.find(this.isXL)){
                        parsedArticles.push({
                            id: article._id,
                            title: article.headline.main || 'Untitled',
                            imageURL: 
             article.multimedia.find(this.isXL).url || '#',
                            webURL: article.web_url || '#'
                        });
                    }    
                }
                return parsedArticles;
            }
        isXL (image){
                return image.subtype === 'xlarge';
            }
            render(){
                return this.state.articles && (
                    <div className = 'articles'>
                        {this.state.articles.map(function(article){
                            return <Article article={article} key= 
                        {article._id} />;
                        })}
                    </div>
                );
            }
        }
        var Article = function({article}){
            var imgURL = 'https://static01.nyt.com/' + article.imageURL;
            return(
                <div className='article'>
                    <a className='article-link' href={article.webURL}>
                        <img className = 'article-image'
                        title = {article.title}
                        src = {imgURL} />
                    </a>
                </div>
            );                    
        }
        ReactDOM.render(
            <MyApp />, document.getElementById('container')
        );

каждый раз получая одну и ту же ошибку на консоли

GET https://api.nytimes.com/svc/search/v2/articlesearch.json?api-key=xxxxxxxxxxxxxxxxxxxxx 401 (не авторизовано)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...