java appkey_如何使用Microsoft Graph API获取AppKey

我正在创建新的应用程序

POST https://graph.microsoft.com/beta/applications

我可以恢复AppId,但无法找到获取AppKey的方法 . 我想稍后使用应用程序凭据访问该应用程序 .

更新:我在应用程序创建期间作为密码凭据发送的内容:

newAppObj.passwordCredentials = new List(){

new AOBJ.AzurePasswordCredential()

{

customKeyIdentifier = "T1rEXhNmUUmVqimnBPkirw==",

keyId = Guid.NewGuid().ToString(),

value = "WgjbF8vG3GM1XRGpc43fvtiO7ScpTGwh0jd6CjIRd40dCX3kP8LMlCdcrrEPBRidI4CXW1OCnSQJQxOzX+oIUw==",

startDate ="2016-06-01T13:59:30Z",// DateTimeOffset.UtcNow,

endDate = "2017-06-02T13:59:30Z"//DateTimeOffset.UtcNow.AddYears(2)

}

};

当我然后使用我之前设置的密钥生成授权令牌作为值时,我得到此响应,当尝试使用时调用MicrosoftGraph API:

{

"error": {

"code": "Authorization_IdentityNotFound",

"message": "The identity of the calling application could not be established.",

"innerError": {

"request-id": "42d3f97d-5ccb-4680-a6c2-dceb160d19c7",

"date": "2016-06-02T21:03:31"

}

}

}

当我通过Azure门户手动创建密钥时,api调用正常 .

更新2:

所以,事实证明,创建应用程序的POST没有创建底层的 ServicePrincipal 对象 . 我必须在创建应用程序后创建它 .

var servicePrincipal = O365OutlookClient.GetServicePrincipalForApp(InOnBoardingToken, createdAppObj.appId);

if (servicePrincipal== null || servicePrincipal.appId==null)

{

var servicePrincipalObj = new AOBJ.AzureServicePrincipal();

servicePrincipalObj.appId = createdAppObj.appId;

servicePrincipalObj.displayName = createdAppObj.displayName;

servicePrincipalObj.accountEnabled = true;

var servicePrincipalJson = O365OutlookClient.PostServicePrincipalSync(InOnBoardingToken, servicePrincipalObj);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值