如何解决如何使用C#Facebook SDK从Facebook获取用户的朋友,并将所有消息发送给他们?
| 我正在写书本,这将为从Facebook获取用户的朋友提供便利,并通过使用C#Facebook SDK向他们发送所有消息(“如何发送消息”,我在这里看到了一些主题,因此目前,这还不是主要的,我需要结交用户朋友)。 因此,我创建了应用程序,添加了Facebook库,在Facebook上创建了应用程序,并获得了APP_ID和APP机密。 我尝试使用他们的文档在第三天写草皮。那就是我得到的: var fb = new FacebookApp(\"My_APP_Id\",\"MySecret\");
var accesstoken = fb.Session.Accesstoken;
var app = new FacebookApp(accesstoken);
var result = (JsonObject)app.Get(\"/HereMyId/friends\");
var model = new List<Friend>();
foreach (var friend in (JsonArray)result[\"data\"])
model.Add(new Friend()
{
Id = (string) (((JsonObject) friend)[\"id\"]),Name = (string) (((JsonObject) friend)[\"name\"])
});
text.Text += \"<br/>\";
foreach (Friend res in model)
{
text.Text += res.Id + \"<br/>\";
text.Text += res.Name + \"<br/>\";
}
public class Friend
{
public string Id { get; set; }
public string Name { get; set; }
}
我有下一个错误:
无法查找100002435634的所有朋友。只能查找登录用户(0)或具有适当权限的登录用户的朋友。
我应该如何登录用户?也许我不知道它应该如何工作。
所以我有几个问题:
我可以接受用户的登录和通过并连接一些方法,或者可以授予应用程序一些权限,或者应该如何工作?
如何从Facebook获得有关朋友的信息?
解决方法
您的Facebook应用程序注册必须明确声明您需要阅读朋友列表的权限。身份验证期间,使用scope参数传递所需的权限。
,我知道我可能要迟到一年了,但是由于我遇到了同样的问题,并且利用了您的代码,并且有可能对您有用,所以我为那些可能遇到同样问题的代码返回了工作代码。这是原来由您编辑的代码。
public void ShowFriendList(string at,string id)
{
//var fb = new FacebookApp(\"My_APP_Id\",\"MySecret\");
var accessToken = at;
Facebook.FacebookClient app = new Facebook.FacebookClient(accessToken);
var result = (Facebook.JsonObject)app.Get(\"/\" + id + \"/friends\");
var model = new List<fbUser>(); //model = friendlist array
int i = 5; //limit to five friends
foreach (var friend in (Facebook.JsonArray)result[\"data\"])
{
if (i != 0)
{
model.Add(new fbUser()
{
ID = (string)(((Facebook.JsonObject)friend)[\"id\"]),Name = (string)(((Facebook.JsonObject)friend)[\"name\"])
});
i = i - 1;
}
else
{
break;
}
}
lblreport.Text += \"<br/>\";
foreach (fbUser res in model)
{
lblreport.Text += res.ID + \"<br/>\";
lblreport.Text += res.Name + \"<br/>\";
}
}
我只分别将文本输出控件和Friend类分别替换为lblreport标签和fbUser类,如果需要,只需将其替换回去。
您唯一遗漏的是您按计划使用了应用程序access_token而不是登录用户的access_token。否则,您的代码是从Facebook Json Object提取好友列表的绝佳示例,这是我最初追求的目标。我希望这有帮助。
PS:这是我第一次回答stackoverflow,所以我希望我对这个强大的资源站点有所帮助。
,var client = new FacebookClient(access_token);
var result = client.Get(\"/me/friends?fields=picture,name\") as JsonObject;
JavaScriptSerializer js = new JavaScriptSerializer();
string str = result [\"data\"].ToString();
List<Friends> objFriends = (List<Friends>)js.Deserialize(str,typeof(List<Friends>));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。