armugam.indrani(Hyd) Ответов: 0

Как добавить элементы списка sharepoint online без использования клиентского контекста


Привет
Моя задача-добавить элемент списка в Sharepoint online (облако) из данных Html-формы. Но ограничение здесь ... использование либо javascript/ECMAScript/angularjs/jQuery & также html-форма должна быть простой html.

С помощью скриптов я могу пройти

1) Url-адрес сайта Sharepoint
2) учетные данные сайта Sharepoint(имя пользователя и пароль).

Теперь я могу получить доступ к сайту с помощью adal.js, как показано ниже:

App.js
myApp.config(["$routeProvider", "$httpProvider", "adalAuthenticationServiceProvider",
    function ($routeProvider, $httpProvider, adalProvider) {

        'use strict';

        //Initialize ADAL
        adalProvider.init({
            tenant: "TenentName.onmicrosoft.com",
            clientId: "ClientID",
            cacheLocation: "localStorage",
            endpoints: {
                'https://TenentName.sharepoint.com/_api/': 'https://TenentName.sharepoint.com',
                'https://TenentName-my.sharepoint.com/_api/v1.0/me': 'https://TenentName-my.sharepoint.com'
             }
        }, $httpProvider);

        //Configure routes
        $routeProvider.when("/", {
            controller: 'homeCtrl',
            templateUrl: 'Views/home.html',
            requireADLogin: true
        });
        $routeProvider.when("/documents", {
            controller: 'docsCtrl',
            templateUrl: 'Views/docs.html',
            requireADLogin: true
        });
        $routeProvider.otherwise({
            redirectTo: "/"
        });
    }
]);


homeCtrl.js: для получения информации о пользователе.
myApp.controller("homeCtrl", ["$scope", "adalAuthenticationService",
    function homeCtrl($scope, adalAuthenticationService) {

        "use strict";
        angular.element("title").text("Home");

        if (adalAuthenticationService.userInfo.isAuthenticated) {
            $scope.message = "Welcome. You are logged in as " + adalAuthenticationService.userInfo.userName;
        }
        else {
            $scope.message = "Welcome. You are not logged in.";
        }

    }
]);


docsCtrl.js : для получения списков, но не работает

myApp.controller("docsCtrl", ["$scope", "$location", "$http", "adalAuthenticationService",
    function docsCtrl($scope, $location, $http, adalAuthenticationService) {

        "use strict";

        angular.element("title").text("Documents");

        debugger
        if (adalAuthenticationService.userInfo.isAuthenticated) {
            $scope.message = "Welcome. You are logged in as " + adalAuthenticationService.userInfo.userName;
        }
        else{
            $location.path("/");
        }


        $http({
              //url: "https://graph.microsoft.com/v1.0/me/drive/root/children",
              //url: "https://TenentName-my.sharepoint.com/_api/v1.0/me/files",
                url: "https://TenentName.sharepoint.com/sites/subsiteName/_api/Web/Lists/GetByTitle('CustomListName')/Items?$select=Title",
            params: {
                "$select": "id,name,lastModifiedBy,size,webUrl"
            },
            method: "GET",
            headers: {
                "accept": "application/json",
            }
        }).success(function (data) {

            var docs = new Array();
            var files = data.value;
            for (var count = 0; count < files.length; count++) {
                var item = files[count];

                docs.push({
                    name: item.name,
                    size: item.size,
                    link: item.webUrl,
                    lastModifiedBy: item.lastModifiedBy.user.displayName.split(',')[0]
                });
            }
            debugger
            $scope.documents = docs;
            $scope.message = "Returned " + docs.length + " document(s).";

        }).error(function (data) {
            $scope.message = JSON.stringify(data);
        });

    }
]);


home.html : вот моя задача, нужно получить все приведенные ниже данные формы ввода и добавить их в качестве элемента списка sharepoint после нажатия кнопки Сохранить. Нижеприведенные поля будут выступать в качестве имен полей для одного элемента списка.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>    
    <div id="container">
        <div align="center">
            <img src="../images/logo.gif" />
            
            <h1>Application Form for New Investment Permit</h1>
            <h2>{{message}}</h2>
        </div>
        
        <form id="contactform">
            <h2 align="center">Application Form for Investment Permit</h2>
            <h3>Particulars of the Applicant /Investor</h3>
            <table>
                <tr>
                    <td>Title</td>
                    <td><input type="text" id="Title" /></td>
                </tr>
                <tr>
                    <td>EmpNo</td>
                    <td><input type="text" id="EmpNo" /></td>
                </tr>
                <tr>
                    <td>EmpName</td>
                    <td><input type="text" id="EmpName" /></td>
                </tr>
                <tr>
                    <td>Location</td>
                    <td><input type="text" id="Location" /></td>
                </tr>
                <tr>
                    <td>Age</td>
                    <td><input type="text" id="Age" /></td>
                </tr>
                <tr>
                    <td>Experience</td>
                    <td><input type="text" id="Experience" /></td>
                </tr>
                <tr>
                    <td>EntryOn</td>
                    <td><input type="text" id="EntryOn" /></td>
                </tr>
            </table>
            <div>
                
                <button type="submit" onclick="">Save</button>
            </div>
            </form></div>
</body>
</html>


docs.html

<div class="row">
    <div class="col-md-4">Name</div>
    <div class="col-md-4">Size</div>
    <div class="col-md-4">Modified By</div>
</div>
<div class="row" data-ng-repeat="document in documents">
    <div class="col-md-4"><a data-ng-href="{{document.link}}">{{document.name}}</a></div>
    <div class="col-md-4">{{document.size}}</div>
    <div class="col-md-4">{{document.lastModifiedBy}}</div>
</div>
<div style="margin-top:15px;">{{message}}</div>


Наконец-то мой index.html это как показано ниже

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" data-ng-app="MyApp">
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=10" />
    <title>Hello, ADAL JS</title>
    <link rel="stylesheet" href="Content/bootstrap.css" />
    <link rel="Stylesheet" href="Content/site.css" />
   
</head>
<body>
    <div class="container" data-ng-cloak>
        <div class="navbar navbar-default" role="navigation">
            <div class="container-fluid">
                <div class="navbar-header">
                    <a class="navbar-brand" href="#">Hello ADAL JS!</a>
                </div>
                <div class="navbar-collapse collapse">
                    <ul class="nav navbar-nav">
                        <li><a href="#">Home</a></li>
                        <li><a href="#documents">Documents</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>

    <div>
        <div class="container" data-ng-view />
    </div>

    <script src="Scripts/jquery-1.10.2.js"></script>
    <script src="Scripts/jquery-extensions.js"></script>
    <script src="Scripts/bootstrap.js"></script>
    <script src="Scripts/angular.js"></script>
    <script src="Scripts/angular-route.js"></script>
    <script src="Scripts/adal.js"></script>
    <script src="Scripts/adal-angular.js"></script>
    <script src="Scripts/App_Start/App.js"></script>
    <script src="Scripts/Controllers/homeCtrl.js"></script>
    <script src="Scripts/Controllers/docsCtrl.js"></script>

</body>
</html>


Используя приведенный выше код, я могу аутентифицировать приложение.Но с помощью того же authContext не удалось добавить элементы в список Sharepoint Online.

На самом деле я пуст, чтобы двигаться дальше...то есть как добавлять элементы списка, используя тот же контекст.Я поражен здесь.

С тех пор, 5 дней я гуглил его...но ничего не подходило в соответствии с нашим требованием.Пожалуйста, помогите мне, заранее спасибо.

Что я уже пробовал:

пытался подключиться через SPServices
Теперь работаем с Adal.js

Nelek

Хорошо... вы описали свою задачу, но..... в чем вопрос?

armugam.indrani(Hyd)

Прощения за неполный вопрос. На самом деле я пуст, чтобы двигаться дальше...то есть как добавить элементы списка, используя тот же контекст, используя adal.js с angular js. потому что контекст показывает только пользовательские данные, а не отображает ничего другого.Я поражен здесь, Пожалуйста, помогите мне...Спасибо вам

0 Ответов