这是一个具有适当权限的示例。如果我在浏览器中打开它,我可以访问图像和电子邮件。
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时,我没有获取图片,只发送生日信息
有什么区别?如何获得适当的权限以提示用户提供图像和电子邮件?
答案 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>