以编程方式获取EWS accessstoken

时间:2016-04-28 11:24:17

标签: android token exchangewebservices

我有一个有效的EWS连接,但是每次我停止应用程序时我都必须填写我的用户名和密码。最终,很多不同的用户将使用该应用程序。有没有办法以编程方式获得一个我可以存储在localstorrage中的accessstoken? (我不想保存密码)

    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);

    ExchangeCredentials credentials = new WebCredentials(username, password);
    service.setCredentials(credentials);

    service.setUrl(new URI("https://domain/EWS/Exchange.asmx"));

1 个答案:

答案 0 :(得分:0)

它被称为模仿(邮件服务器管理员必须运行power shell命令才能为指定的邮件帐户分配超级用户权限。)

以下是链接https://msdn.microsoft.com/en-us/library/office/dd633680(v=exchg.80).aspx

这里还有一个工作示例,说明我如何为数百名用户使用模拟。 您需要的是将用户名存储在哈希集或字典中而不是访问令牌中(EWS中没有访问令牌)。

    For Each strUserName As String In _UserIdDictionary.Keys
        _ExchangeServicesMainThread.Add(strUserName, InitializeService(strUserName))
    Next

假设您有一个所有用户的初始化字典,那么循环通过您的字典,以便为每个用户分配一个交换服务,并将此用户名/交换服务存储在一个新字典中

$("#submitRequest input").change(function(){
    var data = {
        SSeries : $("#SSeries").val(),
        ...
    }

    $.ajax({
        url: 'your_url_method',
        type: 'POST',
        data: data,
        success : function(res){
            showTable();
            console.log("Success, you submit your form" + res);
        },
        error : function(error){
            console.log(error, "Error in submit")
        }
    });

});