FBアプリの準備ができたら、実際、トークンを取得する必要があります。ただし、トークンは常にUSERのコンテキストで要求されるため、ユーザーはWebサイトで認証される必要があります。つまり、Facebookのログインダイアログが表示されます。これにより、ユーザーは本当にアプリケーションを信頼しているかどうかを尋ねられます。これを行うにはさまざまな方法があります-FB認証に関する一般的なページは次のとおりです: https ://developers.facebook.com/docs/authentication/ 、これはAndroidでこれを行う方法を説明しています:https://developers.facebook .com / docs / mobile / android / sso /
JavaScript認証(私はMVC3プロジェクトで個人的に使用しています)を使用したい場合は、 https: //developers.facebook.com/docs/authentication/client-side/から少し変更された例を次に示します。アプリIDと権限を必要なものに変更することを忘れないでください。
<div id="fb-root"></div>
<script>
// Load the SDK Asynchronously
(function (d) {
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.js";
ref.parentNode.insertBefore(js, ref);
} (document));
// Init the SDK upon load
window.fbAsyncInit = function () {
FB.init({
appId: '@EventController.FB_APP_ID', // App ID
channelUrl: '//' + window.location.hostname + '/channel.htm', // Path to your Channel File
status: false, // check login status
cookie: false, // enable cookies to allow the server to access the session
xfbml: false // parse XFBML
});
// listen for and handle auth.statusChange events
FB.Event.subscribe('auth.statusChange', function (response) {
if (response.authResponse) {
// user has auth'd your app and is logged into Facebook
FB.api('/me', function (me) {
// get info about the user, for example
})
//document.getElementById('auth-loggedout').style.display = 'none';
} else {
// user has not auth'd your app, or is not logged into Facebook
//document.getElementById('auth-loggedout').style.display = 'block';
}
});
// respond to clicks on the login and logout links
document.getElementById('auth-loginlink').addEventListener('click', function () {
FB.login(function (response) {
// handle the response
if (response.authResponse != null) {
// HERE IS THE TOKEN YOU CAN USE
var token = response.authResponse.accessToken;
} else {
}
// AND THESE ARE THE PERMISSIONS YOU WANT YOUR APP TO REQUEST
}, { scope: 'manage_pages,publish_stream' });
});
};
</script>
ここでの1つのキャッチ-FBアプリは[アプリ]->[設定]->[ウェブサイトURL]フィールドにウェブサイトURL( http:// localhost /であっても)を持っている必要があります。また、channel.htmファイルを1行のコードを含むWebサイトのルートに配置する必要があります。
<script src="//connect.facebook.net/en_US/all.js">