Facebook Canvas アプリにログインする最良の方法は何ですか? 私が見たすべてのチュートリアルは、ユーザーがすでに Facebook にログインしているため、奇妙に思えるログイン ボタンを押す必要があることを示しています。Facebook で見た他のアプリには、「アプリに移動」ボタンが表示されます。そのダイアログを拡張された権限で表示するプロセスは何ですか? アプリにユーザー情報へのアクセスを許可するには、oAuth URL リダイレクトが最適な方法ですか?
質問する
1028 次
2 に答える
0
今週初めてこのことを掘り下げただけなので、まだ最善の方法で行っていない可能性がありますが、サンドボックスで行っている方法は次のとおりです。
$(window).load(function(){
login();
});
var login = function(){
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
get_fb_info();
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, {scope: 'user_about_me, friends_about_me, user_activities, friends_activities, user_birthday, friends_birthday, user_checkins, friends_checkins, user_education_history, friends_education_history, user_events, friends_events, user_groups, friends_groups, user_hometown, friends_hometown, user_interests, friends_interests, user_likes, friends_likes, user_location, friends_location, user_notes, friends_notes, user_photos, friends_photos, user_questions, friends_questions, user_relationships, friends_relationships, user_relationship_details, friends_relationship_details, user_religion_politics, friends_religion_politics, user_status, friends_status, user_subscriptions, friends_subscriptions, user_videos, friends_videos, user_website, friends_website, user_work_history, friends_work_history, email, read_friendlists, read_insights, read_mailbox, read_requests, read_stream, xmpp_login, ads_management, create_event, manage_friendlists, manage_notifications, user_online_presence, friends_online_presence, publish_checkins, publish_stream, rsvp_event, publish_actions, user_actions.music, friends_actions.music, user_actions.news, friends_actions.news, user_actions.video, friends_actions.video, user_actions:ssiz-three, friends_actions:ssiz-three, user_games_activity, friends_games_activity, manage_pages'});
}
また、これを行うための「最良の」方法が何であるかを聞きたいです。私も遊んだfb:login-button
ことがありますが、何らかの理由でそれを正しく機能させることができませんでした。
<fb:login-button show-faces="true" width="200" max-rows="1" scope="user_about_me...">
</fb:login-button>
于 2012-10-11T19:06:10.087 に答える
0
私はPHPルートに行きましたが、うまく機能しているようです。
$user = null; //facebook user uid
try{
include_once 'fb-php/src/facebook.php';
}
catch(Exception $o){
echo '<pre>';
print_r($o);
echo '</pre>';
}
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => 'YOUR APP ID',
'secret' => 'YOUR SECRET ID',
'cookie' => true,
));
//Facebook Authentication part
$user = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'email,publish_stream,user_photos'
)
);
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
//you should use error_log($e); instead of printing the info on browser
d($e); // d is a debug function defined at the end of this file
$user = null;
}
}
if (!$user) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
于 2012-10-11T21:57:19.890 に答える