Microsoft Graph使用Xamarin更新用户配置文件



我已经被这个问题困扰了好几个小时了。

我有以下代码:

string[] scopes = new string[] { 

"User.ReadWrite"
};
IPublicClientApplication publicClientApplication = PublicClientApplicationBuilder
.Create(OAuthSettings.ApplicationId)
.Build();
InteractiveAuthenticationProvider authProvider = new InteractiveAuthenticationProvider(publicClientApplication, scopes);

GraphServiceClient graphClient = new GraphServiceClient(authProvider);
var user = new User
{
Country = "ZA"
};

await graphClient.Me
.Request()
.UpdateAsync(user);

然而,每次我执行此操作时,我都会得到以下错误:

Code: generalException
Message: An error occurred sending the request

我做错了什么?

不幸的是,

更新用户信息非常有限。无法使用授权更新国家/地区。它应该可以通过仅应用程序身份验证和User.ReadWrite.All权限来实现。这一点(无可否认(没有得到很好的解释。

从这里的信息:

User.ReadWrite和User.ReadWrite。所有委派的权限都允许应用程序更新工作或学校帐户的以下配置文件属性:

  • 关于我
  • 生日
  • 雇用日期
  • 利益
  • 移动电话
  • mySite
  • 过去的项目
  • 照片
  • 首选名称
  • 责任
  • 学校
  • 技能

还有其他一些问题(例如,如果用户是管理员等(。

最新更新