Android 使用Facebook身份验证的Azure移动服务:获取用户信息

Android 使用Facebook身份验证的Azure移动服务:获取用户信息,android,facebook,facebook-graph-api,azure-mobile-services,Android,Facebook,Facebook Graph Api,Azure Mobile Services,我不熟悉使用Azure移动服务(或任何移动开发人员)。 我遵循本教程为Android应用程序启用Facebook身份验证。 我的移动服务有一个.NET后端,客户端是Android。 我还设法将访问令牌保存到表中 public async Task<IHttpActionResult> PostTodoItem(TodoItem item) { var currentUser = User as ServiceUser; item.UserId

我不熟悉使用Azure移动服务(或任何移动开发人员)。 我遵循本教程为Android应用程序启用Facebook身份验证。

我的移动服务有一个.NET后端,客户端是Android。 我还设法将访问令牌保存到表中

public async Task<IHttpActionResult> PostTodoItem(TodoItem item)
    {
        var currentUser = User as ServiceUser;
        item.UserId = currentUser.Id;
        TodoItem current = await InsertAsync(item);
        return CreatedAtRoute("Tables", new { id = current.Id }, current);  
    }
但在我的Android虚拟设备(AVD)上收到以下错误:“{消息:发生错误}” EclipseLogcat似乎没有返回任何错误……我猜是因为产生错误的不是Android应用程序,而是移动服务

使用此人的Facebook名称(我当然不会使用这个名称)有效

为什么这种方法不起作用

还是我对Facebook代币的理解不正确?
令牌是否可能存在于AVD上,因此移动服务无法使用令牌?

似乎我对令牌的怀疑是正确的。 这似乎奏效了

           var serviceUser = this.User as ServiceUser;
           var identities = await serviceUser.GetIdentitiesAsync();
           var fb = identities.OfType<FacebookCredentials>().FirstOrDefault();

           var client = new FacebookClient(fb.AccessToken);
           dynamic me = client.Get("me", new { fields = "name,id" });
           string firstName = me.name;
           string lastName = me.last_name;
var serviceUser=this.User作为serviceUser;
var identies=await serviceUser.getidentiesasync();
var fb=identifications.OfType().FirstOrDefault();
var client=新的FacebookClient(fb.AccessToken);
dynamic me=client.Get(“me”,new{fields=“name,id”});
字符串firstName=me.name;
字符串lastName=me.last\u name;
var currentUser = User as ServiceUser;
        var client = new FacebookClient();
        dynamic me = client.Get("zuck" });
           var serviceUser = this.User as ServiceUser;
           var identities = await serviceUser.GetIdentitiesAsync();
           var fb = identities.OfType<FacebookCredentials>().FirstOrDefault();

           var client = new FacebookClient(fb.AccessToken);
           dynamic me = client.Get("me", new { fields = "name,id" });
           string firstName = me.name;
           string lastName = me.last_name;