Facebook 中的 NewMeRequest Android API 在 C# 中
NewMeRequest in the Facebook Android API in C#
我一直在尝试通过以下代码在 Xamarin Studio 中使用 Facebook API 为 Android 做一个 Request.NewMeRequest:
Request.NewMeRequest (currentSession, new Request.IGraphUserCallback() {
override void OnCompleted(IGraphUser user, Response Response){
Console.WriteLine(user.FirstName);
}
}).ExecuteAsync ();
但是 Xamarin Studio 给出了一些错误,所以我认为我在 C# 中的做法不正确。有人有一些关于如何执行此操作的示例代码或一些为什么这不起作用的解释吗?
提前致谢!
编辑:
感谢@Guilherme 的帮助,现在 return 没有任何错误,但我 运行 遇到以下问题:
我已将代码更改为您的答案,如下所示:
public class MainActivity : Activity, ILocationListener, Request.IGraphUserCallback
{
...
Session currentSession = Session.ActiveSession;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);
...
Console.WriteLine ("current session: " + currentSession.AccessToken);
Request.NewMeRequest (currentSession, this).ExecuteAsync();
}
public void OnCompleted (IGraphUser user, Response response)
{
Console.WriteLine (user.Username);
}
...
}
但现在它不会返回当前登录用户的用户名。会话不是问题,因为它是正确的。
这肯定不适用于 c#,因为它不支持匿名 class
让您的 class 实现 IGraphUserCallback 并将其作为参数传递,然后:
Request.NewMeRequest (currentSession, this).ExecuteAsync ();
我一直在尝试通过以下代码在 Xamarin Studio 中使用 Facebook API 为 Android 做一个 Request.NewMeRequest:
Request.NewMeRequest (currentSession, new Request.IGraphUserCallback() {
override void OnCompleted(IGraphUser user, Response Response){
Console.WriteLine(user.FirstName);
}
}).ExecuteAsync ();
但是 Xamarin Studio 给出了一些错误,所以我认为我在 C# 中的做法不正确。有人有一些关于如何执行此操作的示例代码或一些为什么这不起作用的解释吗?
提前致谢!
编辑: 感谢@Guilherme 的帮助,现在 return 没有任何错误,但我 运行 遇到以下问题:
我已将代码更改为您的答案,如下所示:
public class MainActivity : Activity, ILocationListener, Request.IGraphUserCallback
{
...
Session currentSession = Session.ActiveSession;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);
...
Console.WriteLine ("current session: " + currentSession.AccessToken);
Request.NewMeRequest (currentSession, this).ExecuteAsync();
}
public void OnCompleted (IGraphUser user, Response response)
{
Console.WriteLine (user.Username);
}
...
}
但现在它不会返回当前登录用户的用户名。会话不是问题,因为它是正确的。
这肯定不适用于 c#,因为它不支持匿名 class
让您的 class 实现 IGraphUserCallback 并将其作为参数传递,然后:
Request.NewMeRequest (currentSession, this).ExecuteAsync ();