如何将我的应用程序的帐户链接到Facebook?这是代码: -
BrowserSession _browserSession = new BrowserSession(ApplicationKey, new Enums.ExtendedPermissions[] { Enums.ExtendedPermissions.email, Enums.ExtendedPermissions.manage_mailbox, Enums.ExtendedPermissions.read_mailbox,
Enums.ExtendedPermissions.status_update, Enums.ExtendedPermissions.share_item, Enums.ExtendedPermissions.offline_access});
Connect connect = new Connect(_browserSession);
connect.RegisterUsersAsync(List<ConnectAccountMap>);
正如您所见,connect.RegisterUsersAsync需要ConnectAccountMap类型的List。我如何获得ConnectAccountMaps? ConnectAccountMap的属性是EmailAddress,AccountId和AccountUrl。但是我如何获得这些参数?
提前致谢:)
答案 0 :(得分:1)
最后,我正在回答我自己的问题。我确实尝试过Facebook C#SDK并且没有让它工作。我研究了样本并更改了appId,甚至在登录时成功,但无法使其工作。此功能失败
[ScriptableMember]
public void LoggedIn(string uri) //string sessionKey, string sessionSecret, int expires, string userId, string allowedPermissions)
{
FacebookAuthenticationResult authResult;
if (FacebookAuthenticationResult.TryParse(uri, out authResult))
{
fbApp.Session = authResult.ToSession();
loginSucceeded();
}
else
{
failedLogin();
}
}
FacebookAuthenticationResult.TryParse
行一直在失败,我感到很沮丧。最后,我使用Facebook Developer Toolkit V3.1本身工作。
这个查询工作正常: -
_fb.Fql.QueryAsync("SELECT email FROM user WHERE uid=" + u.uid, new Fql.QueryCallback((str, obj, exc) => {
Debug.WriteLine(str);
}), null);
当然,您的应用程序应该要求扩展电子邮件权限。强制要求查询,因为在Facebook的user
对象中没有可以获取真实电子邮件地址的属性。如果你想检索proxied_email,但大部分情况都不是你一直在寻找的,那么你可以查询!你将获得xml,你可以使用Linq To Xml或传统的Xml c#类轻松解析它。干杯!
答案 1 :(得分:0)
如果您使用旧的Facebook Developer Toolkit,这是一个很好的例子。
http://facebooktoolkit.codeplex.com/Thread/View.aspx?ThreadId=45825
其他明智的新C#SDK考虑一下
http://facebooksdk.codeplex.com/wikipage?title=Code%20Examples&referringTitle=Documentation
希望它可能会有所帮助。
这里提到的FYI http://developers.facebook.com/docs/reference/rest/connect.registerUsers
connect.register用户已被弃用。