【发布时间】:2014-08-23 14:46:57
【问题描述】:
我不熟悉使用 Azure 移动服务(或任何移动开发)。 我已按照本教程为 Android 应用启用 Facebook 身份验证。 http://azure.microsoft.com/en-us/documentation/articles/mobile-services-how-to-register-facebook-authentication/
我的移动服务有一个 .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);
}
保存的值格式如下:Facebook:907xxxxxxxxx757
我正在尝试使用 Facebook SDK 获取用户的名字。
var currentUser = User as ServiceUser;
var accessToken = "current.Id";
var client = new FacebookClient(accessToken);
dynamic me = client.Get("me", new { fields = "name,id" });
string firstName = me.name;
但在我的 Android 虚拟设备 (AVD) 上收到以下错误:“{message: an error has occurred}” Eclipse logcat 似乎没有返回任何错误...我猜是因为产生错误的不是 Android 应用程序,而是移动服务。
使用此人的 Facebook 名称(我当然不会有)有效;
var currentUser = User as ServiceUser;
var client = new FacebookClient();
dynamic me = client.Get("zuck" });
为什么这种方法不起作用?
还是我对 Facebook 令牌的理解不正确? 令牌是否可能存在于 AVD 上,因此移动服务无法使用令牌?
【问题讨论】:
标签: android facebook facebook-graph-api azure-mobile-services