Итак, я использую API spotify для поиска.Локально я тестировал свой код, используя tsc и node;все работает, как и ожидалось.
Однако, когда я развертываю свой index.ts, журналы указывают на странное поведение.
В верхней части файла у меня есть следующее:
//Load libraries
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const firebase = require("firebase");
const stripe = require('stripe')(functions.config().stripe.token)
const SpotifyWebApi = require('spotify-web-api-node');
//Initialize app
const APP = {
apiKey: "my-API-Key",
authDomain: "My domain auth",
databaseURL: "my databse url",
storageBucket: "my bucket",
messagingSenderId: "my messenger ID"
}
//The Client Credential Flow for Spotify API
const spotifyApi = new SpotifyWebApi({
clientId: 'My cliend ID',
clientSecret: 'My-secret-Key'
});
// Retrieve an access token for Spotify.
spotifyApi.clientCredentialsGrant().then(function (data) {
console.log('All data Spotify API: ' + data.body )
console.log('The access token expires in ' + data.body['expires_in']);
console.log('The access token is ' + data.body['access_token']);
// Save the access token so that it's used in future calls
spotifyApi.setAccessToken(data.body['access_token']);
}, function (err) {
console.log('Something went wrong when retrieving an access token', err);
})
firebase.initializeApp(APP);
admin.initializeApp(APP)
Проблема в том, что в журналах указывается, что функция токена доступа спойтинга запускается один раз для функции Firebase-Cloud в моем индексе.JS файл.Я получаю более дюжины токенов, каждый из которых отображается в журнале как вызванный из одной из моих функций в облачной базе firebase.
Как сказать Firebase Functions запускать этот код один раз и только один раз, когда я загружаю весь свой index.ts?И не запускайте его, когда я загружаю одну функцию;это тоже было бы полезно.
Спасибо.