aboutsummaryrefslogtreecommitdiff
path: root/src/server/apis/google
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/apis/google')
-rw-r--r--src/server/apis/google/GoogleApiServerUtils.ts13
-rw-r--r--src/server/apis/google/GooglePhotosUtils.ts12
2 files changed, 22 insertions, 3 deletions
diff --git a/src/server/apis/google/GoogleApiServerUtils.ts b/src/server/apis/google/GoogleApiServerUtils.ts
index 8785cd974..2fb44d9a2 100644
--- a/src/server/apis/google/GoogleApiServerUtils.ts
+++ b/src/server/apis/google/GoogleApiServerUtils.ts
@@ -5,6 +5,7 @@ import { OAuth2Client } from "google-auth-library";
import { Opt } from "../../../new_fields/Doc";
import { GlobalOptions } from "googleapis-common";
import { GaxiosResponse } from "gaxios";
+import Photos = require("googlephotos");
/**
* Server side authentication for Google Api queries.
@@ -20,16 +21,18 @@ export namespace GoogleApiServerUtils {
'presentations.readonly',
'drive',
'drive.file',
+ 'photoslibrary',
+ 'photoslibrary.sharing'
];
export const parseBuffer = (data: Buffer) => JSON.parse(data.toString());
export enum Service {
Documents = "Documents",
- Slides = "Slides"
+ Slides = "Slides",
+ Photos = "Photos"
}
-
export interface CredentialPaths {
credentials: string;
token: string;
@@ -50,7 +53,7 @@ export namespace GoogleApiServerUtils {
reject(err);
return console.log('Error loading client secret file:', err);
}
- return authorize(parseBuffer(credentials), paths.token).then(auth => {
+ return authorize(parseBuffer(credentials), paths.token).then(async auth => {
let routed: Opt<Endpoint>;
let parameters: EndpointParameters = { auth, version: "v1" };
switch (sector) {
@@ -60,6 +63,10 @@ export namespace GoogleApiServerUtils {
case Service.Slides:
routed = google.slides(parameters).presentations;
break;
+ case Service.Photos:
+ const photos = new Photos(auth);
+ let response = await photos.albums.list();
+ console.log("WE GOT SOMETHING!", response);
}
resolve(routed);
});
diff --git a/src/server/apis/google/GooglePhotosUtils.ts b/src/server/apis/google/GooglePhotosUtils.ts
new file mode 100644
index 000000000..c33ad2dd9
--- /dev/null
+++ b/src/server/apis/google/GooglePhotosUtils.ts
@@ -0,0 +1,12 @@
+import request = require('request-promise');
+const key = require("../../credentials/auth.json");
+
+export const PhotosLibraryQuery = async (authToken: any, parameters: any) => {
+ let options = {
+ headers: { 'Content-Type': 'application/json' },
+ json: parameters,
+ auth: { 'bearer': authToken },
+ };
+ const result = await request.post(config.apiEndpoint + '/v1/mediaItems:search', options);
+ return result;
+}; \ No newline at end of file