我正在尝试构建一个使用MediaHound SDK而不进行编译的简单JavaScript应用。这是我得到的错误:

javascript - 尝试使用MediaHound API时遇到问题-LMLPHP

<oauth>
  <error_description>
    Full authentication is required to access this resource
  </error_description>
  <error>unauthorized</error>
</oauth>


我正在按照指示here。我已经在MediaHound的应用程序屏幕上配置了该应用程序,并且已经正确配置了客户端ID和客户端密钥(当我更改它们时,会出现其他错误)。

我包括hound.js和我的主要js文件,它是这样的:

houndjs.MHSDK.configure('mhclt_Zoetrope', 'My Client Secret is here');

houndjs.MHSearch.fetchResultsForSearchTerm('Gladiator', [houndjs.MHSearch.SCOPE_MOVIE])
  .then(response => {
    const movie = response.content[0].object;
    console.log('First result:', movie.metadata.name);
  });


第一行执行得很好,是搜索引发错误。我在犯一些明显的错误吗?

最佳答案

问题是在进行身份验证之前立即执行搜索。这有效:

houndjs.MHSDK.configure('mhclt_Zoetrope', 'My Client Secret is here').then(() => {

  houndjs.MHSearch.fetchResultsForSearchTerm('Gladiator', [houndjs.MHSearch.SCOPE_MOVIE])
    .then(response => {
      const movie = response.content[0].object;
      console.log('First result:', movie.metadata.name);
    });

});

08-04 15:03