Skip to content

Commit de59819

Browse files
authored
Merge branch '3.0.0' into count-default-true
2 parents 6a12f68 + eceb67e commit de59819

File tree

96 files changed

+7142
-1136
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+7142
-1136
lines changed

.gitignore

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,11 @@ npm-debug.log
1414
/lib/*
1515
!/lib/.npmignore
1616

17-
src/**/*.js
18-
src/**/*.js.map
19-
src/**/*.d.ts
20-
2117
samples/node/secrets.json
2218
samples/browser/src/secrets.js
2319
samples/browser/src/graph-js-sdk.js
2420
samples/browser/src/graph-es-sdk.js
2521

26-
spec/**/*.js
27-
spec/**/*.d.ts
28-
spec/**/*.js.map
29-
spec/**/secrets.ts
22+
test/development/secrets.ts
23+
24+
.nyc_output/*

.prettierignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ src/**/*.js
66
src/**/*.js.map
77
src/**/*.d.ts
88

9-
spec/**/*.js
10-
spec/**/*.js.map
11-
spec/**/*.d.ts
9+
test/**/*.js
10+
test/**/*.js.map
11+
test/**/*.d.ts

.vscode/launch.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"request": "launch",
1919
"name": "Run Content tests",
2020
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
21-
"args": ["${workspaceRoot}/lib/spec/content/*.js"],
21+
"args": ["${workspaceRoot}/lib/test/common/**/*.js"],
2222
"cwd": "${workspaceRoot}",
2323
"preLaunchTask": "Run Compile",
2424
"outFiles": [],
@@ -29,7 +29,7 @@
2929
"request": "launch",
3030
"name": "Run Core tests",
3131
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
32-
"args": ["${workspaceRoot}/lib/spec/core/*.js"],
32+
"args": ["${workspaceRoot}/lib/test/common/core/*.js"],
3333
"cwd": "${workspaceRoot}",
3434
"preLaunchTask": "Run Compile",
3535
"outFiles": [],
@@ -40,7 +40,7 @@
4040
"request": "launch",
4141
"name": "Run Middleware tests",
4242
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
43-
"args": ["${workspaceRoot}/lib/spec/middleware/*.js"],
43+
"args": ["${workspaceRoot}/lib/test/common/middleware/*.js"],
4444
"cwd": "${workspaceRoot}",
4545
"preLaunchTask": "Run Compile",
4646
"outFiles": [],
@@ -51,7 +51,7 @@
5151
"request": "launch",
5252
"name": "Run Tasks tests",
5353
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
54-
"args": ["${workspaceRoot}/lib/spec/tasks/*.js"],
54+
"args": ["${workspaceRoot}/lib/test/common/tasks/*.js"],
5555
"cwd": "${workspaceRoot}",
5656
"preLaunchTask": "Run Compile",
5757
"outFiles": [],
@@ -62,7 +62,7 @@
6262
"request": "launch",
6363
"name": "Run Workload tests",
6464
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
65-
"args": ["${workspaceRoot}/spec/development/workload/*.js"],
65+
"args": ["${workspaceRoot}/test/common/development/workload/*.js"],
6666
"cwd": "${workspaceRoot}",
6767
"preLaunchTask": "Run Compile",
6868
"outFiles": [],

CONTRIBUTING.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,9 @@ npm install
114114

115115
To edit files, open them in an editor of your choice and modify them. To create a new file, use the editor of your choice and save the new file in the appropriate location in your local copy of the repository. While working, save your work frequently.
116116

117-
*Note: Make sure to add unit tests to validate you changes.*
117+
_Note: Make sure to add unit tests to validate you changes._
118118

119-
Once you have done with your changes, You have to build and test your changes
120-
To build the library run,
119+
Build and test your changes with the following commands after you have completed your work:
121120

122121
```cmd
123122
npm run build

README-Localized/README-es-es.md

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
# Biblioteca cliente de JavaScript de Microsoft Graph
2+
3+
[![npm version badge](https://img.shields.io/npm/v/@microsoft/microsoft-graph-client.svg?maxAge=86400)](https://www.npmjs.com/package/@microsoft/microsoft-graph-client) [![Travis](https://travis-ci.org/microsoftgraph/msgraph-sdk-javascript.svg?maxAge=86400)](https://travis-ci.org/microsoftgraph/msgraph-sdk-javascript) [![Known Vulnerabilities](https://snyk.io/test/github/microsoftgraph/msgraph-sdk-javascript/badge.svg?maxAge=86400)](https://snyk.io/test/github/microsoftgraph/msgraph-sdk-javascript) [![Licence](https://img.shields.io/github/license/microsoftgraph/msgraph-sdk-javascript.svg)](https://github.com/microsoftgraph/msgraph-sdk-javascript) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/microsoftgraph/msgraph-sdk-javascript) [![Downloads](https://img.shields.io/npm/dm/@microsoft/microsoft-graph-client.svg?maxAge=86400)](https://www.npmjs.com/package/@microsoft/microsoft-graph-client)
4+
5+
La biblioteca cliente de JavaScript de Microsoft Graph es un envase reducido en torno a la API de Microsoft Graph que puede usarse en el lado del servidor y en el explorador.
6+
7+
**¿Busca IntelliSense en los modelos (usuarios, grupos, etc.)? Vea el repositorio de [tipos de Microsoft Graph](https://github.com/microsoftgraph/msgraph-typescript-typings).**
8+
9+
[![Demostración de TypeScript](https://raw.githubusercontent.com/microsoftgraph/msgraph-sdk-javascript/master/types-demo.PNG)](https://github.com/microsoftgraph/msgraph-typescript-typings)
10+
11+
## Instalación
12+
13+
### Mediante npm
14+
15+
```cmd
16+
npm install @microsoft/microsoft-graph-client
17+
```
18+
19+
importe `@microsoft/microsoft-graph-client` en el módulo y también necesitará polyfills para capturar como [isomorphic-fetch](https://www.npmjs.com/package/isomorphic-fetch).
20+
21+
```typescript
22+
import "isomorphic-fetch";
23+
import { Client } from "@microsoft/microsoft-graph-client";
24+
```
25+
26+
### Mediante etiqueta de script
27+
28+
Incluya [graph-js-sdk.js](https://cdn.jsdelivr.net/npm/@microsoft/microsoft-graph-client/lib/graph-js-sdk.js) en la página HTML.
29+
30+
```HTML
31+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@microsoft/microsoft-graph-client/lib/graph-js-sdk.js"></script>
32+
```
33+
34+
En caso de que el explorador no sea compatible con [Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) \[[support](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#Browser_compatibility)] o [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) \[[support](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#Browser_compatibility)], deberá usar polyfills como [github/fetch](https://github.com/github/fetch) para fetch y [es6-promise](https://github.com/stefanpenner/es6-promise) para promise.
35+
36+
```HTML
37+
<!-- polyfilling promise -->
38+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.auto.min.js"></script>
39+
40+
<!-- polyfilling fetch -->
41+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/whatwg-fetch/dist/fetch.umd.min.js"></script>
42+
43+
<!-- depending on your browser you might wanna include babel polyfill -->
44+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@babel/[email protected]/dist/polyfill.min.js"></script>
45+
```
46+
47+
## Introducción
48+
49+
### 1. Registrar su aplicación
50+
51+
Registre su aplicación para usar la API de Microsoft Graph con uno de los siguientes portales de autenticación compatibles:
52+
53+
- [Portal de registro de aplicaciones de Microsoft](https://apps.dev.microsoft.com): Registre una nueva aplicación que funcione con cuentas de Microsoft y/o cuentas de la organización con el punto de conexión de autenticación V2 unificado.
54+
- [Microsoft Azure Active Directory](https://manage.windowsazure.com): Registre una nueva aplicación en el espacio empresarial de Active Directory para dar soporte a los usuarios de cuentas profesionales o educativas de su espacio empresarial, o a varios espacios empresariales.
55+
56+
### 2. Autenticarse para el servicio de Microsoft Graph
57+
58+
La biblioteca cliente de JavaScript de Microsoft Graph tiene una implementación de adaptador ([ImplicitMSALAuthenticationProvider](src/ImplicitMSALAuthenticationProvider.ts)) para [MSAL](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-core) (biblioteca de autenticación de Microsoft) que se ocupa de recibir el `accessToken`. La biblioteca MSAL no se incluye con esta biblioteca, el usuario debe incluirla de forma externa (para incluir MSAL, consulte [esto](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-core#installation)).
59+
60+
> **Nota importante:** MSAL solo es compatible con las aplicaciones front-end, para la autenticación en el servidor tiene que implementar su propio AuthenticationProvider. Obtenga información acerca de cómo puede crear un [proveedor de autenticación personalizado](./docs/CustomAuthenticationProvider.md).
61+
62+
#### Creación de una instancia de ImplicitMSALAuthenticationProvider en un entorno de explorador
63+
64+
Consulte devDependencies en [package.json](./package.json) para ver la versión compatible de msal y actualícela a continuación.
65+
66+
```html
67+
<script src="https://secure.aadcdn.microsoftonline-p.com/lib/<version>/js/msal.min.js"></script>
68+
```
69+
70+
```typescript
71+
// Configuration options for MSAL @see https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL.js-1.0.0-api-release#configuration-options
72+
const msalConfig = {
73+
auth: {
74+
clientId: "your_client_id", // Client Id of the registered application
75+
redirectUri: "your_redirect_uri",
76+
},
77+
};
78+
const graphScopes = ["user.read", "mail.send"]; // An array of graph scopes
79+
80+
// Important Note: This library implements loginPopup and acquireTokenPopup flow, remember this while initializing the msal
81+
// Initialize the MSAL @see https://github.com/AzureAD/microsoft-authentication-library-for-js#1-instantiate-the-useragentapplication
82+
const msalApplication = new Msal.UserAgentApplication(msalConfig);
83+
const options = new MicrosoftGraph.MSALAuthenticationProviderOptions(graphScopes);
84+
const authProvider = new MicrosoftGraph.ImplicitMSALAuthenticationProvider(msalApplication, options);
85+
```
86+
87+
#### Creación de una instancia de ImplicitMSALAuthenticationProvider en un entorno de nodo
88+
89+
Consulte devDependencies en [package.json](./package.json) para ver la versión compatible de msal y actualícela a continuación.
90+
91+
```cmd
92+
npm install msal@<version>
93+
```
94+
95+
```typescript
96+
import { UserAgentApplication } from "msal";
97+
98+
import { ImplicitMSALAuthenticationProvider } from "./node_modules/@microsoft/microsoft-graph-client/lib/src/ImplicitMSALAuthenticationProvider";
99+
100+
// An Optional options for initializing the MSAL @see https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics#configuration-options
101+
const msalConfig = {
102+
auth: {
103+
clientId: "your_client_id", // Client Id of the registered application
104+
redirectUri: "your_redirect_uri",
105+
},
106+
};
107+
const graphScopes = ["user.read", "mail.send"]; // An array of graph scopes
108+
109+
// Important Note: This library implements loginPopup and acquireTokenPopup flow, remember this while initializing the msal
110+
// Initialize the MSAL @see https://github.com/AzureAD/microsoft-authentication-library-for-js#1-instantiate-the-useragentapplication
111+
const msalApplication = new UserAgentApplication(msalConfig);
112+
const options = new MicrosoftGraph.MSALAuthenticationProviderOptions(graphScopes);
113+
const authProvider = new ImplicitMSALAuthenticationProvider(msalApplication, options);
114+
```
115+
116+
El usuario puede integrar la biblioteca de autenticación preferida mediante la implementación de `IAuthenticationProvider` interfaz. Consulte la implementación de un [proveedor de autenticación personalizada](./docs/CustomAuthenticationProvider.md).
117+
118+
### 3. Inicializar un objeto de cliente de Microsoft Graph con un proveedor de autenticación
119+
120+
Una instancia de la clase **cliente** controla las solicitudes a la API de Microsoft Graph y procesa las respuestas. Para crear una nueva instancia de esta clase, tiene que proporcionar una instancia de [`IAuthenticationProvider`](src/IAuthenticationProvider.ts) que necesita pasarse como un valor para la clave `authProvider` en [`ClientOptions`](src/IClientOptions.ts) a un método de inicializador estático `Client.initWithMiddleware`.
121+
122+
#### Para entornos de navegador
123+
124+
```typescript
125+
const options = {
126+
authProvider, // An instance created from previous step
127+
};
128+
const Client = MicrosoftGraph.Client;
129+
const client = Client.initWithMiddleware(options);
130+
```
131+
132+
#### Para entornos de nodo
133+
134+
```typescript
135+
import { Client } from "@microsoft/microsoft-graph-client";
136+
137+
const options = {
138+
authProvider, // An instance created from previous step
139+
};
140+
const client = Client.initWithMiddleware(options);
141+
```
142+
143+
Para obtener más información sobre cómo inicializar el cliente, consulte [este documento](./docs/CreatingClientInstance.md).
144+
145+
### 4. Realizar solicitudes a Graph
146+
147+
Una vez que haya configurado la autenticación y una instancia del cliente, puede empezar a realizar llamadas al servicio. Todas las solicitudes deberían empezar con `client.api(path)` y terminar con una [acción](./docs/Actions.md).
148+
149+
Obtención de detalles de usuario
150+
151+
```typescript
152+
try {
153+
let userDetails = await client.api("/me").get();
154+
console.log(userDetails);
155+
} catch (error) {
156+
throw error;
157+
}
158+
```
159+
160+
Enviar un correo electrónico a los destinatarios
161+
162+
```typescript
163+
// Construct email object
164+
const mail = {
165+
subject: "Microsoft Graph JavaScript Sample",
166+
toRecipients: [
167+
{
168+
emailAddress: {
169+
address: "[email protected]",
170+
},
171+
},
172+
],
173+
body: {
174+
content: "<h1>MicrosoftGraph JavaScript Sample</h1>Check out https://github.com/microsoftgraph/msgraph-sdk-javascript",
175+
contentType: "html",
176+
},
177+
};
178+
try {
179+
let response = await client.api("/me/sendMail").post({ message: mail });
180+
console.log(response);
181+
} catch (error) {
182+
throw error;
183+
}
184+
```
185+
186+
Para obtener más información, consulte: [Patrón de llamada](docs/CallingPattern.md), [acciones](docs/Actions.md), [parámetros de consulta](docs/QueryParameters.md), [métodos de la API](docs/OtherAPIs.md) y [más](docs/).
187+
188+
## Documentación
189+
190+
- [Procesamiento por lotes](docs/content/Batching.md)
191+
- [Tarea de carga de archivos de gran tamaño](docs/tasks/LargeFileUploadTask.md)
192+
- [Iterador de páginas](docs/tasks/PageIterator.md)
193+
- [Acciones](docs/Actions.md)
194+
- [Parámetros de consulta](docs/QueryParameters.md)
195+
- [Otras API](docs/OtherAPIs.md)
196+
- [Obtener respuesta sin procesar](docs/GettingRawResponse.md)
197+
198+
## Preguntas y comentarios
199+
200+
Nos encantaría recibir sus comentarios sobre la biblioteca cliente de JavaScript de Microsoft Graph. Puede enviarnos sus preguntas y sugerencias a través de la sección [Problemas](https://github.com/microsoftgraph/msgraph-sdk-javascript/issues) de este repositorio.
201+
202+
## Colaboradores
203+
204+
Vea la [directrices de contribución](CONTRIBUTING.md).
205+
206+
## Recursos adicionales
207+
208+
- [Sitio web de Microsoft Graph](https://graph.microsoft.io)
209+
- [Tipos de TypeScript de Microsoft Graph](https://github.com/microsoftgraph/msgraph-typescript-typings/)
210+
- [Crear aplicaciones de página única en Angular con Microsoft Graph](https://github.com/microsoftgraph/msgraph-training-angularspa)
211+
- [Crear aplicaciones Node.js Express con Microsoft Graph](https://github.com/microsoftgraph/msgraph-training-nodeexpressapp)
212+
- [Centro para desarrolladores de Office](http://dev.office.com/)
213+
214+
## Avisos de terceros
215+
216+
Consulte [avisos de terceros](./THIRD%20PARTY%20NOTICES) para obtener información sobre los paquetes que se incluyen en [package.json](./package.json)
217+
218+
## Informes de seguridad
219+
220+
Si encuentra un problema de seguridad con nuestras bibliotecas o servicios, informe a [[email protected]](mailto:[email protected]) con todos los detalles posibles. Es posible que el envío pueda optar a una recompensa a través del programa [Microsoft Bounty](http://aka.ms/bugbounty). No publique problemas de seguridad en problemas de GitHub ni ningún otro sitio público. Nos pondremos en contacto con usted rápidamente tras recibir la información. Le animamos a que obtenga notificaciones de los incidentes de seguridad que se produzcan; para ello, visite [esta página](https://technet.microsoft.com/en-us/security/dd252948) y suscríbase a las alertas de avisos de seguridad.
221+
222+
## Licencia
223+
224+
Copyright (c) Microsoft Corporation. Todos los derechos reservados. Publicado bajo la licencia MIT (la "[Licencia](./LICENSE)").
225+
226+
## Valoramos y nos adherimos al Código de conducta de código abierto de Microsoft
227+
228+
Este proyecto ha adoptado el [Código de conducta de código abierto de Microsoft](https://opensource.microsoft.com/codeofconduct/). Para obtener más información, vea [Preguntas frecuentes sobre el código de conducta](https://opensource.microsoft.com/codeofconduct/faq/) o póngase en contacto con [[email protected]](mailto:[email protected]) si tiene otras preguntas o comentarios.

0 commit comments

Comments
 (0)