2016-05-17 35 views
0

我有一个使用Yelp检索评论和联系信息的示例应用程序。直到本周,它一直在运行。使用Yelp API的OAuth错误

我现在收到此错误:未捕获 的ReferenceError:OAuth是没有定义

function addmarker(lat,lng, id, name, comments){ 

var yelpcontent = '<h4>' + name + '</h4>'; 
var phone = ''; 
var address = ''; 
var city = ''; 
var state = ''; 
var zip = ''; 
var rating = ''; 

var terms = name; 
var near = 'Indianapolis,IN'; 
var cll = lat + "," + lng; 
var accessor = { 
    consumerSecret: auth.consumerSecret, 
    tokenSecret: auth.accessTokenSecret 
}; 
parameters = []; 
parameters.push(['term', name]); 
parameters.push(['location', 'Indianapolis, IN']); 
parameters.push(['cll', cll]); 
parameters.push(['callback', 'cb']); 
parameters.push(['oauth_consumer_key', auth.consumerKey]); 
parameters.push(['oauth_consumer_secret', auth.consumerSecret]); 
parameters.push(['oauth_token', auth.accessToken]); 
parameters.push(['oauth_signature_method', 'HMAC-SHA1']); 
var message = { 
    'action': 'http://api.yelp.com/v2/search', 
    'method': 'GET', 
    'parameters': parameters 
}; 
OAuth.setTimestampAndNonce(message); 
OAuth.SignatureMethod.sign(message, accessor); 
var parameterMap = OAuth.getParameterMap(message.parameters); 
parameterMap.oauth_signature = OAuth.percentEncode(parameterMap.oauth_signature) 
$.ajax({ 
    'url': message.action, 
    'data': parameterMap, 
    'cache': true, 
    'dataType': 'jsonp', 
    'type' : 'get', 
    'timeout': 5000, 
    'success': function(data, textStats, XMLHttpRequest) { 


     address = data['businesses'][0].location.address; 
     city = data['businesses'][0].location.city; 
     state = data['businesses'][0].location.state_code; 
     zip = data['businesses'][0].location.postal_code; 
     phone = data['businesses'][0].display_phone; 
     rating = data['businesses'][0].rating_img_url_small; 
     yelpcontent = yelpcontent + '<p>' + address + '<br/>' + city + ', ' + state + ' ' + zip + '<br/>' + phone + '</p><p><strong>Yelp Rating</strong></p><p><img src=' + rating + '></p><p><strong>Personal Review</strong></p><p>' + comments + '</p>'; 

    }, 
    'error': function(data, textStats, XMLHttpRequest) { 
     console.log(name + ' ' + 'did not work'); 
     console.log(XMLHttpRequest); 
     yelpcontent = yelpcontent + '<p>' + comments + '</p>'; 
    } 


}); 

有人能告诉我什么,我做错了什么?

回答

0

OAuth在默认情况下未在Javascript中定义。

您必须将其添加到您的页面。

使用此代码:

<script type="text/javascript" src="http://oauth.googlecode.com/svn/code/javascript/oauth.js"></script> 
    <script type="text/javascript" src="http://oauth.googlecode.com/svn/code/javascript/sha1.js"></script> 

你可以看到一个完整的例子here

+0

我有这些在我的HTML文件,它仍然无法正常工作。 :( –

+0

你能分享你的完整代码吗? – Ygalbel

+0

你能检查1.