Snapshot before moving away from googleapis
This commit is contained in:
parent
07bdc595cd
commit
3882b4e87d
178
README.md
178
README.md
@ -45,3 +45,181 @@
|
||||
```
|
||||
% docker rm d511b20c73d6
|
||||
```
|
||||
|
||||
# BUMMER!
|
||||
|
||||
* [Google API client for Node.js](https://github.com/googleapis/google-api-nodejs-client) supports the following
|
||||
APIs, but not Google Photos **!?#@**. Until [these](https://github.com/googleapis/google-api-nodejs-client/issues/1695)
|
||||
[bugs](https://issuetracker.google.com/issues/138224490) are fixed, will need to use base OAuth2 to access the API.
|
||||
|
||||
{
|
||||
abusiveexperiencereport: [ 'v1' ],
|
||||
acceleratedmobilepageurl: [ 'v1' ],
|
||||
accessapproval: [ 'v1', 'v1beta1' ],
|
||||
accesscontextmanager: [ 'v1', 'v1beta' ],
|
||||
adexchangebuyer: [ 'v1.2', 'v1.3', 'v1.4' ],
|
||||
adexchangebuyer2: [ 'v2beta1' ],
|
||||
adexperiencereport: [ 'v1' ],
|
||||
admin: [ 'datatransfer_v1', 'directory_v1', 'reports_v1' ],
|
||||
admob: [ 'v1' ],
|
||||
adsense: [ 'v1.4' ],
|
||||
adsensehost: [ 'v4.1' ],
|
||||
alertcenter: [ 'v1beta1' ],
|
||||
analytics: [ 'v3' ],
|
||||
analyticsreporting: [ 'v4' ],
|
||||
androiddeviceprovisioning: [ 'v1' ],
|
||||
androidenterprise: [ 'v1' ],
|
||||
androidmanagement: [ 'v1' ],
|
||||
androidpublisher: [ 'v1.1', 'v1', 'v2', 'v3' ],
|
||||
appengine: [ 'v1', 'v1alpha', 'v1beta' ],
|
||||
appsactivity: [ 'v1' ],
|
||||
bigquery: [ 'v2' ],
|
||||
bigqueryconnection: [ 'v1beta1' ],
|
||||
bigquerydatatransfer: [ 'v1' ],
|
||||
bigqueryreservation: [ 'v1', 'v1alpha2', 'v1beta1' ],
|
||||
bigtableadmin: [ 'v1', 'v2' ],
|
||||
billingbudgets: [ 'v1beta1' ],
|
||||
binaryauthorization: [ 'v1', 'v1beta1' ],
|
||||
blogger: [ 'v2', 'v3' ],
|
||||
books: [ 'v1' ],
|
||||
calendar: [ 'v3' ],
|
||||
chat: [ 'v1' ],
|
||||
civicinfo: [ 'v2' ],
|
||||
classroom: [ 'v1' ],
|
||||
cloudasset: [ 'v1', 'v1beta1' ],
|
||||
cloudbilling: [ 'v1' ],
|
||||
cloudbuild: [ 'v1', 'v1alpha1', 'v1alpha2' ],
|
||||
clouddebugger: [ 'v2' ],
|
||||
clouderrorreporting: [ 'v1beta1' ],
|
||||
cloudfunctions: [ 'v1', 'v1beta2' ],
|
||||
cloudidentity: [ 'v1', 'v1beta1' ],
|
||||
cloudiot: [ 'v1' ],
|
||||
cloudkms: [ 'v1' ],
|
||||
cloudprivatecatalog: [ 'v1beta1' ],
|
||||
cloudprivatecatalogproducer: [ 'v1beta1' ],
|
||||
cloudprofiler: [ 'v2' ],
|
||||
cloudresourcemanager: [ 'v1', 'v1beta1', 'v2', 'v2beta1' ],
|
||||
cloudscheduler: [ 'v1', 'v1beta1' ],
|
||||
cloudsearch: [ 'v1' ],
|
||||
cloudshell: [ 'v1', 'v1alpha1' ],
|
||||
cloudtasks: [ 'v2', 'v2beta2', 'v2beta3' ],
|
||||
cloudtrace: [ 'v1', 'v2', 'v2beta1' ],
|
||||
commentanalyzer: [ 'v1alpha1' ],
|
||||
composer: [ 'v1', 'v1beta1' ],
|
||||
compute: [ 'alpha', 'beta', 'v1' ],
|
||||
container: [ 'v1', 'v1beta1' ],
|
||||
containeranalysis: [ 'v1alpha1', 'v1beta1' ],
|
||||
content: [ 'v2.1', 'v2' ],
|
||||
customsearch: [ 'v1' ],
|
||||
datacatalog: [ 'v1beta1' ],
|
||||
dataflow: [ 'v1b3' ],
|
||||
datafusion: [ 'v1beta1' ],
|
||||
dataproc: [ 'v1', 'v1beta2' ],
|
||||
datastore: [ 'v1', 'v1beta1', 'v1beta3' ],
|
||||
deploymentmanager: [ 'alpha', 'v2', 'v2beta' ],
|
||||
dfareporting: [ 'v3.3', 'v3.4' ],
|
||||
dialogflow: [ 'v2', 'v2beta1' ],
|
||||
digitalassetlinks: [ 'v1' ],
|
||||
discovery: [ 'v1' ],
|
||||
displayvideo: [ 'v1' ],
|
||||
dlp: [ 'v2' ],
|
||||
dns: [ 'v1', 'v1beta2', 'v2beta1' ],
|
||||
docs: [ 'v1' ],
|
||||
domainsrdap: [ 'v1' ],
|
||||
doubleclickbidmanager: [ 'v1.1', 'v1' ],
|
||||
doubleclicksearch: [ 'v2' ],
|
||||
drive: [ 'v2', 'v3' ],
|
||||
driveactivity: [ 'v2' ],
|
||||
factchecktools: [ 'v1alpha1' ],
|
||||
fcm: [ 'v1' ],
|
||||
file: [ 'v1', 'v1beta1' ],
|
||||
firebase: [ 'v1beta1' ],
|
||||
firebasedynamiclinks: [ 'v1' ],
|
||||
firebasehosting: [ 'v1beta1' ],
|
||||
firebaserules: [ 'v1' ],
|
||||
firestore: [ 'v1', 'v1beta1', 'v1beta2' ],
|
||||
fitness: [ 'v1' ],
|
||||
games: [ 'v1' ],
|
||||
gamesConfiguration: [ 'v1configuration' ],
|
||||
gamesManagement: [ 'v1management' ],
|
||||
genomics: [ 'v1', 'v1alpha2', 'v2alpha1' ],
|
||||
gmail: [ 'v1' ],
|
||||
groupsmigration: [ 'v1' ],
|
||||
groupssettings: [ 'v1' ],
|
||||
healthcare: [ 'v1beta1' ],
|
||||
homegraph: [ 'v1' ],
|
||||
iam: [ 'v1' ],
|
||||
iamcredentials: [ 'v1' ],
|
||||
iap: [ 'v1', 'v1beta1' ],
|
||||
identitytoolkit: [ 'v3' ],
|
||||
indexing: [ 'v3' ],
|
||||
jobs: [ 'v2', 'v3', 'v3p1beta1' ],
|
||||
kgsearch: [ 'v1' ],
|
||||
language: [ 'v1', 'v1beta1', 'v1beta2' ],
|
||||
libraryagent: [ 'v1' ],
|
||||
licensing: [ 'v1' ],
|
||||
lifesciences: [ 'v2beta' ],
|
||||
logging: [ 'v2' ],
|
||||
managedidentities: [ 'v1', 'v1alpha1', 'v1beta1' ],
|
||||
manufacturers: [ 'v1' ],
|
||||
mirror: [ 'v1' ],
|
||||
ml: [ 'v1' ],
|
||||
monitoring: [ 'v1', 'v3' ],
|
||||
networkmanagement: [ 'v1beta1' ],
|
||||
oauth2: [ 'v1', 'v2' ],
|
||||
osconfig: [ 'v1beta' ],
|
||||
oslogin: [ 'v1', 'v1alpha', 'v1beta' ],
|
||||
pagespeedonline: [ 'v1', 'v2', 'v4', 'v5' ],
|
||||
people: [ 'v1' ],
|
||||
playcustomapp: [ 'v1' ],
|
||||
plus: [ 'v1' ],
|
||||
policytroubleshooter: [ 'v1', 'v1beta' ],
|
||||
poly: [ 'v1' ],
|
||||
prod_tt_sasportal: [ 'v1alpha1' ],
|
||||
proximitybeacon: [ 'v1beta1' ],
|
||||
pubsub: [ 'v1', 'v1beta1a', 'v1beta2' ],
|
||||
recommender: [ 'v1beta1' ],
|
||||
redis: [ 'v1', 'v1beta1' ],
|
||||
remotebuildexecution: [ 'v1', 'v1alpha', 'v2' ],
|
||||
reseller: [ 'v1' ],
|
||||
run: [ 'v1', 'v1alpha1', 'v1beta1' ],
|
||||
runtimeconfig: [ 'v1', 'v1beta1' ],
|
||||
safebrowsing: [ 'v4' ],
|
||||
sasportal: [ 'v1alpha1' ],
|
||||
script: [ 'v1' ],
|
||||
searchconsole: [ 'v1' ],
|
||||
secretmanager: [ 'v1', 'v1beta1' ],
|
||||
securitycenter: [ 'v1', 'v1beta1', 'v1p1alpha1', 'v1p1beta1' ],
|
||||
serviceconsumermanagement: [ 'v1' ],
|
||||
servicecontrol: [ 'v1' ],
|
||||
servicemanagement: [ 'v1' ],
|
||||
servicenetworking: [ 'v1', 'v1beta' ],
|
||||
serviceusage: [ 'v1', 'v1beta1' ],
|
||||
sheets: [ 'v4' ],
|
||||
siteVerification: [ 'v1' ],
|
||||
slides: [ 'v1' ],
|
||||
sourcerepo: [ 'v1' ],
|
||||
spanner: [ 'v1' ],
|
||||
speech: [ 'v1', 'v1p1beta1', 'v2beta1' ],
|
||||
sql: [ 'v1beta4' ],
|
||||
storage: [ 'v1', 'v1beta2' ],
|
||||
storagetransfer: [ 'v1' ],
|
||||
streetviewpublish: [ 'v1' ],
|
||||
tagmanager: [ 'v1', 'v2' ],
|
||||
tasks: [ 'v1' ],
|
||||
testing: [ 'v1' ],
|
||||
texttospeech: [ 'v1', 'v1beta1' ],
|
||||
toolresults: [ 'v1beta3' ],
|
||||
tpu: [ 'v1', 'v1alpha1' ],
|
||||
translate: [ 'v2', 'v3', 'v3beta1' ],
|
||||
vault: [ 'v1' ],
|
||||
verifiedaccess: [ 'v1' ],
|
||||
videointelligence: [ 'v1', 'v1beta2', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1' ],
|
||||
vision: [ 'v1', 'v1p1beta1', 'v1p2beta1' ],
|
||||
webfonts: [ 'v1' ],
|
||||
webmasters: [ 'v3' ],
|
||||
websecurityscanner: [ 'v1', 'v1alpha', 'v1beta' ],
|
||||
youtube: [ 'v3' ],
|
||||
youtubeAnalytics: [ 'v1', 'v2' ],
|
||||
youtubereporting: [ 'v1' ]
|
||||
}
|
||||
|
7
auth.js
7
auth.js
@ -67,7 +67,12 @@ function authorize(credentials, req, res, callback) {
|
||||
fs.readFile(TOKEN_PATH, (err, token) => {
|
||||
if (err) return getAccessToken(oAuth2Client, req, res, callback);
|
||||
oAuth2Client.setCredentials(JSON.parse(token));
|
||||
callback(req, res);
|
||||
var apis = google.getSupportedAPIs();
|
||||
console.log(apis);
|
||||
// TODO: Need to wait until googleapis supports Google Photos.
|
||||
// Will revisit this at that point
|
||||
var api = google;
|
||||
callback(req, res, api);
|
||||
});
|
||||
}
|
||||
|
||||
|
1
index.js
1
index.js
@ -20,6 +20,7 @@ app.get('/redirect', (req, res) => auth.redirect(req, res));
|
||||
|
||||
// - Authenticated routes
|
||||
app.get('/tiny', (req, res) => auth.run(req, res, tasks.tiny_photos));
|
||||
app.get('/albums', (req, res) => auth.run(req, res, tasks.albums));
|
||||
|
||||
// - Assets
|
||||
app.get('/favicon.ico', (req, res) => res.sendStatus(204));
|
||||
|
2
page.js
2
page.js
@ -45,7 +45,7 @@ function page_head(title) {
|
||||
</head>
|
||||
<body>
|
||||
<h1 class="title">${config.app_name}</h1>
|
||||
<p class="content"><a href="/">Home</a> | <a href="/tiny">Tiny Photos</a></p>`;
|
||||
<p class="content"><a href="/">Home</a> | <a href="/albums">Albums</a> | <a href="/tiny">Tiny Photos</a></p>`;
|
||||
}
|
||||
|
||||
function page_tail() {
|
||||
|
13
tasks.js
13
tasks.js
@ -23,7 +23,7 @@ function home_page(req, res) {
|
||||
res.send(pg);
|
||||
}
|
||||
|
||||
function tiny_photos(req, res) {
|
||||
function tiny_photos(req, res, api) {
|
||||
var pg = page.head("Tiny photos");
|
||||
pg += `<p class="content">These are the tiny photos in your library</p>`;
|
||||
pg += page.tail();
|
||||
@ -31,11 +31,20 @@ function tiny_photos(req, res) {
|
||||
res.send(pg);
|
||||
}
|
||||
|
||||
function albums(req, res, api) {
|
||||
var pg = page.head("Albums");
|
||||
pg += `<p class="content">These are the albums in your library</p>`;
|
||||
pg += page.tail();
|
||||
|
||||
res.send(pg);
|
||||
}
|
||||
|
||||
// Exported functions
|
||||
module.exports = {
|
||||
not_found: not_found,
|
||||
home_page: home_page,
|
||||
tiny_photos: tiny_photos
|
||||
tiny_photos: tiny_photos,
|
||||
albums: albums
|
||||
}
|
||||
|
||||
// vim: ai ts=4 sts=4 et sw=4 ft=javascript
|
||||
|
Loading…
Reference in New Issue
Block a user