如何到达';我';Facebook c#SDK中的Json与WP7和silverlight
我是Facebook C#SDK的新手,我正在尝试为windows phone 7做一些事情,但功能仅限于silverlight,因为“silverlight应该只有异步调用”,我真的在尝试这样做:如何到达';我';Facebook c#SDK中的Json与WP7和silverlight,c#,silverlight,facebook,windows-phone-7,facebook-c#-sdk,C#,Silverlight,Facebook,Windows Phone 7,Facebook C# Sdk,我是Facebook C#SDK的新手,我正在尝试为windows phone 7做一些事情,但功能仅限于silverlight,因为“silverlight应该只有异步调用”,我真的在尝试这样做: // Using IDictionary<string, object> (.Net 3.5, .Net 4.0, WP7) var client = new FacebookClient(); var me = (IDicationary<string,object>)cl
// Using IDictionary<string, object> (.Net 3.5, .Net 4.0, WP7)
var client = new FacebookClient();
var me = (IDicationary<string,object>)client.Get("me");
string firstName = (string)me["first_name"];
string lastName = (string)me["last_name"];
string email = (string)me["email"];
//使用IDictionary(.Net 3.5、.Net 4.0、WP7)
var client=new FacebookClient();
var me=(idicational)client.Get(“我”);
string firstName=(string)me[“first_name”];
string lastName=(string)me[“last_name”];
字符串email=(字符串)me[“email”];
例如:
但是我不能使用get方法。。。
我会更好地解释我自己!,我想保存信息,有一个解决方案:
_fbClient.GetCompleted +=
(o, e) =>
{
if (e.Error == null)
{
var result = (IDictionary<string, object>)e.GetResultData();
Dispatcher.BeginInvoke(() => MyData.ItemsSource = result);
}
else
{
MessageBox.Show(e.Error.Message);
}
};
_fbClient.GetAsync("/me");
\u fbClient.GetCompleted+=
(o,e)=>
{
如果(e.Error==null)
{
var result=(IDictionary)e.GetResultData();
Dispatcher.BeginInvoke(()=>MyData.ItemsSource=result);
}
其他的
{
MessageBox.Show(例如Error.Message);
}
};
_fbClient.GetAsync(“/me”);
问题是无法访问MyData.ItemsSource,我需要访问每个字段或自行请求每个字段。。。有什么想法吗
这家伙可能有一些方向:
直接从Silverlight样本:
fb.GetCompleted +=
(o, e) =>
{
if (e.Error == null)
{
var result = (IDictionary<string, object>)e.GetResultData();
Dispatcher.BeginInvoke(() => InfoBox.ItemsSource = result);
}
else
{
// TODO: Need to let the user know there was an error
}
};
fb.GetAsync("/me");
fb.GetCompleted+=
(o,e)=>
{
如果(e.Error==null)
{
var result=(IDictionary)e.GetResultData();
Dispatcher.BeginInvoke(()=>InfoBox.ItemsSource=result);
}
其他的
{
//TODO:需要让用户知道有错误
}
};
fb.GetAsync(“/me”);
var result=(IDictionary)e.GetResultData();
var fname=(字符串)结果[“first_name”];
var lname=(字符串)结果[“姓氏”];
如果是json对象,则将其强制转换为IDictionary;如果是数组,则将其强制转换为IList。如果string将其转换为string,如果number将其转换为double,依此类推。但这并不能解决逐个字段的问题,如何到达每个字段?您应该能够通过result对象访问它们。试着用与原始示例中相同的方法进行操作。
var result = (IDictionary<string, object>)e.GetResultData();
var fname = (string)result["first_name"];
var lname = (string)result["last_name"];