Usar a biblioteca de códigos do cliente para acessar dados externos no SharePoint
Saiba como usar o modelo de objeto cliente do SharePoint para trabalhar com objetos BCS (Business Connectivity Services) no SharePoint usando scripts baseados em navegador.
Este artigo demonstra como configurar uma lista externa que recupera dados de uma origem OData (protocolo Open Data) usando o modelo de objeto cliente no SharePoint.
Pré-requisitos para acessar dados externos usando o modelo de objeto cliente do SharePoint
Estes são os requisitos para poder desenvolver aplicativos usando o modelo de objeto do cliente do SharePoint:
SharePoint
Visual Studio 2012
Office Developer Tools para Visual Studio 2012
Um ambiente de desenvolvimento de suplementos do SharePoint em funcionamento: siga as instruções em Configurar um ambiente de desenvolvimento geral para o SharePoint.
Acesso aos produtores públicos OData.org
Conceitos principais para saber ao acessar dados externos com o modelo de objeto cliente do SharePoint
O modelo de objeto cliente do SharePoint fornece uma maneira de acessar dados externos usando chamadas do lado do cliente que imitam as APIs do lado do servidor. Para entender como ele funciona e como usá-lo, consulte os artigos na tabela 1.
Tabela 1. Conceitos principais para usar o modelo de objeto cliente
Artigo | Descrição |
---|---|
Realizar operações básicas usando o código de biblioteca cliente do SharePoint |
Saiba como escrever código para peformar operações básicas com o CSOM (modelo de objeto cliente) do SharePoint .NET Framework. |
Criar um Suplemento do SharePoint para acessar dados externos usando o modelo de objeto do cliente
Os procedimentos a seguir mostram como definir um Suplemento do SharePoint e configurar uma página da Web para tornar solicitações usando os métodos de modelo de objeto do cliente e objetos para recuperar dados de uma fonte de dados externa.
Criar um Suplemento do SharePoint
Abra o Visual Studio 2012.
Crie um projeto de Aplicativo para o SharePoint.
Specify the app settings, including app name, the site URL for debugging the app, and how you want to host the app (Autohosted, Provider-hosted, SharePoint-hosted). Para obter mais informações sobre opções de hospedagem, confira Escolher padrões para desenvolver e hospedar seu Suplemento do SharePoint.
Clique em Concluir para criar o aplicativo.
Gerar o tipo de conteúdo externo
No Solution Explorer, abra o menu de atalho para o projeto e escolha Adicionar, tipos de conteúdo para a fonte de dados externa.
No Assistente para Especificar a fonte do OData, insira a URL do serviço OData que você deseja se conectar. Nesse caso, você usará a fonte Northwind OData publicada em http://www.odata.org/ecosystem. Defina a URL do serviço OData como
http://services.odata.org/Northwind/Northwind.svc/
Especifique um nome para a fonte de dados e escolha Avançar.
Será exibida uma lista de entidades que são expostos pelo OData Service. Escolha a entidade Customers. Certifique-se de que a caixa de seleção criar instâncias de lista para as entidades de dados selecionada (exceto as operações de serviço) está marcada.
Escolha Concluir.
Exemplo de código: adicionar scripts e arquivos HTML para a página Default. aspx
Neste ponto, você tem o tipo de conteúdo externo e uma lista externa que exibe os dados da fonte de Netflix OData.
O próximo objetivo é modificar a página default.aspx que você criou quando criou seu aplicativo. Você adiciona um contêiner que manterá os resultados da consulta executada com as cargas da página. Executando os scripts no evento de carregamento de página, você garante que o script será executado sempre que a página for navegada, e as chamadas de modelo de objeto cliente resultantes serão feitas à fonte OData do Netflix para adicionar registros à página.
Adicionar o contêiner à página Default.aspx
No Solution Explorer, abra a página aspx localizada no módulo páginas.
Adicione o seguinte elemento div à página:
<div id="displayDiv"></div>
- Salve a página.
Finalmente, você deve adicionar código para o arquivo App.js que é executado quando a página for carregada.
Para modificar o arquivo App.js para tornar o cliente chama o modelo de objeto
Abra o arquivo de App.js no módulo Scripts do seu projeto do SharePoint.
Cole o seguinte código no final do arquivo.
$(document).ready(function () {
// Namespace
window.AppLevelECT = window.AppLevelECT || {};
// Constructor
AppLevelECT.Grid = function (hostElement, surlWeb) {
this.hostElement = hostElement;
if (surlWeb.length > 0 && surlWeb.substring(surlWeb.length - 1, surlWeb.length) != "/")
surlWeb += "/";
this.surlWeb = surlWeb;
}
// Prototype
AppLevelECT.Grid.prototype = {
init: function () {
$.ajax({
url: this.surlWeb + "_api/lists/getbytitle('Customer')/items?$select=BdcIdentity,CustomerID,ContactName",
headers: {
"accept": "application/json",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: this.showItems
});
},
showItems: function (data) {
var items = [];
items.push("<table>");
items.push('<tr><td>Customer ID</td><td>Customer Name</td></tr>');
$.each(data.d.results, function (key, val) {
items.push('<tr id="' + val.BdcIdentity + '"><td>' +
val.CustomerID + '</td><td>' +
val.ContactName + '</td></tr>');
});
items.push("</table>");
$("#displayDiv").html(items.join(''));
}
}
ExecuteOrDelayUntilScriptLoaded(getCustomers, "sp.js");
});
function getCustomers() {
var grid = new AppLevelECT.Grid($("#displayDiv"), _spPageContextInfo.webServerRelativeUrl);
grid.init();
}
Pressione F5 para implantar o aplicativo no SharePoint. Navegue até a página Default.aspx no aplicativo e uma lista de clientes aparece na página.