私は Facebook アプリ環境を初めて使用します。私は小さなアプリケーションを開発しています。プロジェクトでソーシャルデータを使用して、いくつかの条件を確認しようとしています。FB から返された JSON オブジェクトに正しい方法でアクセスしているかどうかはわかりませんが、ここに問題があります。
現在のファイルから別の jsp またはサーブレットに firstname を送信したいと考えています。そこで、jsp変数を作成し、Facebookから取得したレスポンスオブジェクトに'name'の値を代入してみました。
jsp ファイルの末尾に名を出力しようとすると、名の出力が空になります。オブジェクトで名前と性別の値を使用して、それを別の jsp ファイルまたはサーブレット ファイルに送信するにはどうすればよいですか?
解決策を見つけるために私の頭を叩いてください。誰か助けてください!
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Facebook authentication usage</title>
</head>
<body>
<%! String firstname="";
String lastname="";
String middlename="lynne";
%>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : '532238706811106', // App ID from the App Dashboard
//channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File for x-domain communication
status : true, // check the login status upon init?
cookie : true, // set sessions cookies to allow your server to access the session?
frictionlessRequests : true,
xfbml : true // parse XFBML tags on this page?
});
// Additional initialization code such as adding Event Listeners goes here
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(response)
{
console.log(response);
console.log('Good to see you, ' + response.name + '.');
firstname=firstname+response.name;
lastname=lastname+response.last_name;
document.write(response.name+middlename);
});
}
else if (response.status === 'not_authorized')
{
// the user is logged in to Facebook,
// but has not authenticated your app
var oauth_url = 'https://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=532238706811106'; //Your Client ID
oauth_url += '&redirect_uri=' + 'https://apps.facebook.com/newjsp'; //Send them here if they're not logged in
//oauth_url += '&scope=user_about_me,email,user_location,user_photos,publish_actions,user_birthday,user_likes';
window.top.location = oauth_url;
}
else
{
// the user isn't logged in to Facebook.
window.top.location ='https://www.facebook.com/index.php';
}
});
};
// Load the SDK's source Asynchronously
// Note that the debug version is being actively developed and might
// contain some type checks that are overly strict.
// Please report such bugs using the bugs tool.
(function(d, debug)
{
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false));
</script>
<h1>this is a sample to test facebook authentication
Welcome <%=firstname+""+lastname+middlename%></h1>
<%out.print(firstname+""+lastname+""+middlename); %>
</body>
</html>