簡體   English   中英

為SharePoint 2013創建跨平台移動應用程序

[英]Creating a Cross-Platform Mobile Application for SharePoint 2013

我想為我的SharePoint服務器制作一個簡單的CRUD跨平台移動應用程序。 我正在使用PhoneGap來處理跨平台編碼 - 因此我的代碼將使用HTML,CSS和JavaScript。

我遇到的主要障礙是使用我的SharePoint服務器進行身份驗證。 許多人在線都成功使用了AJAX調用,但是我收到以下錯誤:

XMLHttpRequest cannot load http://<DOMAIN>/_vti_bin/authentication.asmx. The request was redirected to 'http://<DOMAIN>/_layouts/15/error.aspx?ErrorText=Request%20format%20is%20unrecognized%2E', which is disallowed for cross-origin requests that require preflight. 

以下是我的JavaScript代碼:

function Authenticate() {
    $.support.cors = true;
    $.mobile.allowCrossDomainPages = true;

    $("#topnavcontent").append("Creating SOAP envelope...</br>");

    var soapEnv = "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"     xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
    "<soap:Body>" +
    "<Login xmlns=\"http://schemas.microsoft.com/sharepoint/soap/\">" +
    "<username>USERNAME</username>" +
    "<password>PASSWORD</password>" +
    "</Login>" +
    "</soap:Body>" +
    "</soap:Envelope>";

    $("#topnavcontent").append("Calling authenticate.asmx...</br>");

    $.ajax({
        url: "http://<DOMAIN>/_vti_bin/authentication.asmx",
        type: "POST",
        data: soapEnv,
        complete: authenticationResultSuccess,
        contentType: "text/xml; charset=\"utf-8\"",
        error: authenticationResultError
    });
}

我知道瀏覽器正在發送一個飛行前OPTIONS調用。 默認情況下,SharePoint網站不支持OPTIONS調用。 是否有任何解決方法,例如禁用此OPTIONS調用或SharePoint站點上允許預先飛行的webconfig中的設置。 在此先感謝您的幫助。

Office 365 API旨在用於移動應用程序和獨立Web應用程序。 更多細節在這里: http//msdn.microsoft.com/en-us/library/office/dn605892(v = office.15).aspx

使用新的Office 365 API對Azure AD進行身份驗證后,您實際上可以將SharePoint CSOM和REST API與身份驗證承載一起使用。

您是否在Visual Studio 2013中檢出了Cordova(PhoneGap)項目類型? 當您在解決方案資源管理器中的項目節點添加連接以連接到Office 365 API時,這將生成js文件。

很快,我們將在http://www.github.com/OfficeDev上的MS TechEd NA Keynote上演示WoodGrove App的代碼示例。

目前通過Android SDK使用此API的原生Android示例https://github.com/OfficeDev/Office-365-SDK-for-Android

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM