0
私はfacebookアプリを作成しています.JavaScript APIを使用して、ユーザー名やその他の詳細をjs変数に格納しています。このアプリはPythonで作成されています(Google App Engineを使用しています)。私はPythonでjs変数にアクセスし、その値をDbに格納したいと考えています。これを行う方法?Pythonのjavascript変数へのアクセス方法
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.out.write("""
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#">
<head>
<title>Captain Pandey</title>
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '185318768251247',
channelURL : 'http://localhost:8080/channel.html',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// the user is logged in and has authenticated your
// app, and response.authResponse supplies
// the user's ID, a valid access token, a signed
// request, and the time the access token
// and signed request each expire
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
FB.api('/me', function(apiResponse) {
var name = apiResponse.name;
});
}
else if (response.status === 'not_authorized') {
// the user is logged in to Facebook,
// but has not authenticated your app
}
else {
// the user isn't logged in to Facebook.
}
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<div class="fb-login-button" data-show-faces="true" data-width="200" data-max-rows="1" scope="email">Login to Facebook</div>
</body>
</html>
""")
とテンプレートを使用、それはデータを送信し、その要求のためのPythonハンドラを記述するAJAX要求を行うようにwebapp2を
ご存じのようにJS変数はクライアント側に存在し、Pythonコードはサーバー側に存在します。それらのユーザーと通信する唯一の方法は、HTTP(AJAXなど)を使用することです。直接アクセスはありません。 – bereal
Javascriptのどの変数を保存したいのか、どの時点でどの制御ロジックを使用するのかを示すコードをマークアップすると便利です。 –