This topic was automatically generated from Slack. You can find the original thread here.
I am getting auth undefined when trying to pass API data to MySQL
{ ‘$auth’: undefined }
This topic was automatically generated from Slack. You can find the original thread here.
I am getting auth undefined when trying to pass API data to MySQL
{ ‘$auth’: undefined }
Hi, could you share more details on your issue?
Yes - I am attempting a scheduled task that will poll Fitbit and get information such as my food logs. The response from the API has arrays which need to be processed. After scheduling the trigger, I have the code section, where I have selected my fitbit account and my MySQL account. Both are verified as correct in the connected accounts section.
When running this code:
import { axios } from "@pipedream/platform";
import mysql from 'mysql2/promise';
export default defineComponent({
props: {
fitbit: {
type: "app",
app: "fitbit",
},
mysql: {
type: "app",
app: "mysql",
},
},
async run({ steps, $ }) {
// Fetch activities from Fitbit API
const response = await axios($, {
url: `https://api.fitbit.com/1/user/-/activities/list.json?afterDate=2024-01-10&sort=asc&limit=100&offset=0`,
headers: {
Authorization: `Bearer ${this.fitbit.$auth.oauth_access_token}`,
},
});
const activities = response.activities;
// Check if MySQL auth details are defined
if (!this.mysql.$auth) {
console.log(this.mysql);
// throw new Error("MySQL authentication details are not defined. Please check your MySQL app configuration.");
}
I always get the error above because authentication details are not defined. However, they definitively are in the connected account.