如何在Facebook上获得适当的权限以请求用户电子邮件?

时间:2011-03-01 05:15:23

标签: facebook

这是一个具有适当权限的示例。如果我在浏览器中打开它,我可以访问图像和电子邮件。

https://graph.facebook.com/oauth/authorize?
    type=user_agent&
    client_id=116122545078207&
    redirect_uri=http%3A%2F%2Fbenbiddington.wordpress.com&
    scope=user_photos,email,user_birthday,user_online_presence 

但是当我执行相同的网址但使用我的client_id时,我没有获取图片,只发送生日信息

有什么区别?如何获得适当的权限以提示用户提供图像和电子邮件?

2 个答案:

答案 0 :(得分:5)

<fb:login-button perms='email, user_photos, user_birthday, user_online_presence' autologoutlink='true'></fb:login-button>

编辑后

您可以从此处阅读有关Graph API的更多信息。

再次编辑。 你可以在这里找到一些C# SDK

的实例

答案 1 :(得分:0)

我找到了一个使用此代码的解决方案,它可以帮助您









<html>
<head></head>
<body>
<a href="javascript:void(0)" id="login">Connect My Account With Facebook</a>
<br>
<a href="javascript:void(0)" id="logout">logout Facebook</a>
<br />
<div id='user-info'></div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">

// initialize the library with the API key
FB.init({ apiKey: 'da21de4c85b58a0a510267aca5e17449',appId:'139950472740638'});

// fetch the status on load
FB.getLoginStatus(handleSessionResponse);

$('#login').bind('click', function(){FB.login(handleSessionResponse);});

$('#logout').bind('click', function() {FB.logout(handleSessionResponse);});

$('#disconnect').bind('click', function() {
FB.api({ method: 'Auth.revokeAuthorization' }, function(response) {
clearDisplay();
});
});



// handle a session response from any of the auth related calls
function handleSessionResponse(response)
{
// if we dont have a session, just hide the user info
if (!response.session) {clearDisplay(); return;}

FB.ui({
method: 'permissions.request',
perms: 'email'
},
function (response)
{
FB.api({
method: 'fql.query',
query: 'SELECT name,email,uid FROM user WHERE uid=' + FB.getSession().uid
},
function(response2)
{
var user = response2[0];
$('#user-info').html(user.name +' -- '+ user.email +' -- '+ user.uid).show('fast');
}
);
}

);

}
</script>

</body>
</html>