現在、HTMLファイルとPythonファイルがあります。 PythonファイルはYELPのAPIを使用してJSONデータを返します。 HTMLを使ってそのデータをWebページに表示するにはどうすればよいですか? JavaScriptのdocument.getElementById("id").innerHTML = JSONDATA
のような機能はありますか?PythonファイルからHTMLにJSONデータを表示
詳細が必要な場合はお知らせください。これは初めての投稿と初めてのAPIの使用/ウェブサイトの作成です。私はJSONデータが見栄えが良くないと理解していますが、辞書に入れて後でソートします。基本的には、PythonファイルからHTMLファイルにデータを表示する方法を知りたいだけです。また、役に立つチュートリアルを自由にリンクすることもできます。
代わりにJavascriptを使用するように提案されている次のNode.jsコードが見つかりました。ここで私はトークン/秘密を入れますか?そして、どうすれば私のHTMLファイルでそれを呼び出すことができますか...ありがとう。
/* require the modules needed */
var oauthSignature = require('oauth-signature');
var n = require('nonce')();
var request = require('request');
var qs = require('querystring');
var _ = require('lodash');
/* Function for yelp call
* ------------------------
* set_parameters: object with params to search
* callback: callback(error, response, body)
*/
var request_yelp = function(set_parameters, callback) {
/* The type of request */
var httpMethod = 'GET';
/* The url we are using for the request */
var url = 'http://api.yelp.com/v2/search';
/* We can setup default parameters here */
var default_parameters = {
location: 'San+Francisco',
sort: '2'
};
/* We set the require parameters here */
var required_parameters = {
oauth_consumer_key : process.env.oauth_consumer_key,
oauth_token : process.env.oauth_token,
oauth_nonce : n(),
oauth_timestamp : n().toString().substr(0,10),
oauth_signature_method : 'HMAC-SHA1',
oauth_version : '1.0'
};
/* We combine all the parameters in order of importance */
var parameters = _.assign(default_parameters, set_parameters, required_parameters);
/* We set our secrets here */
var consumerSecret = process.env.consumerSecret;
var tokenSecret = process.env.tokenSecret;
/* Then we call Yelp's Oauth 1.0a server, and it returns a signature */
/* Note: This signature is only good for 300 seconds after the oauth_timestamp */
var signature = oauthSignature.generate(httpMethod, url, parameters, consumerSecret, tokenSecret, { encodeSignature: false});
/* We add the signature to the list of paramters */
parameters.oauth_signature = signature;
/* Then we turn the paramters object, to a query string */
var paramURL = qs.stringify(parameters);
/* Add the query string to the url */
var apiURL = url+'?'+paramURL;
/* Then we use request to send make the API Request */
request(apiURL, function(error, response, body){
return callback(error, response, body);
});
};
答えは、あなたがしようとしていることや方法に応じて複数の方法があります。 jsonを動的にロードしようとしている場合、jquery jQuery.getJSONをロードすることをお勧めします(明らかに、jqueryをロードしてコード内で使用する必要があります) –
JavaScriptまたはJavaScriptライブラリを使用してアクセスする方が簡単かもしれませんAPI。 – brandaemon
これは私が元にしたかったものですが、YelpはAPIへのJavaScriptコールのサンプルを持っておらず、自分自身でやる方法がわかりませんでした。私が知っていた言語の実例を探していました。 – Sam