无法使用客户端代码处理Yelp API吗?

时间:2016-03-10 07:05:29

标签: javascript reactjs yelp

我正在使用Firebase创建一个React应用程序,以实现基本的后端功能。

我尝试使用Yelp API,但总是收到MISSING_PARAMETER和CORS错误。

这是我的代码:

import OAuth from 'oauth-1.0a';

const oauth = OAuth({
  consumer: {
    public: 'public',
    secret: 'secret'
  },
  signature_method: 'HMAC-SHA1'
});

const url = "https://api.yelp.com/v2/";

const token = {
  public: 'public',
  secret: 'secret'
};

class YelpWrapper {
  static prepareSearch(term, category) {
    const requestData = {
        url: url + "search/?term=" + term + "&category_filter=" + category + encodeURIComponent("&location=Los Angeles, CA"),
        method: "POST"
    };
    return {
      requestData: requestData,
      headers: oauth.toHeader(oauth.authorize(requestData, token))
    };
  }
}

export default YelpWrapper;

,这在

中调用
static addMemory(memory) {
    const { id, category, text, name } = memory;
    newMemoryRef(id).set(memory);

    const search = YelpWrapper.prepareSearch(name, category);
    const { url, method } = search.requestData;
    const { headers } = search;

    request({
      url: url,
      method: method,
      headers: headers
    }, (error, response, body) => {
      console.log(error);
      console.log(response);
      console.log(body);
    });
  }

以下是我遇到的缺失参数错误

{"error": {"text": "One or more parameters are missing in request", "id": "MISSING_PARAMETER", "field": "oauth_consumer_key"}}

虽然当我打印headers时,我可以看到其中定义的所有必需标头,但出于某种原因,它们不会出现在Chrome开发工具的请求标头中。我认为这是原因,但我无法弄清楚为什么会这样。

0 个答案:

没有答案