with Sinch MessageMedia and Google Sheets?
Emit new event each time a comment is added to a spreadsheet.
Emit new event each time a row or rows are added to the bottom of a spreadsheet.
Emit new event each time a row or rows are added to the bottom of a spreadsheet.
Emit new event each time a row or cell is updated in a spreadsheet.
Emit new event each time a new worksheet is created in a spreadsheet.
Add a single row of data to Google Sheets. See the documentation
Add multiple rows of data to a Google Sheet. See the documentation
Get all values or values from a range of cells using A1 notation. See the documentation
Delete the content of a specific cell in a spreadsheet. See the documentation
Delete the content of a row or rows in a spreadsheet. Deleted rows will appear as blank rows. See the documentation
import axios from "axios";
import crypto from 'crypto';
export default defineComponent({
props: {
sinch_messagemedia: {
type: "app",
app: "sinch_messagemedia",
}
},
async run({ steps, $ }) {
// Date header in RFC7231 format
const date = new Date().toUTCString();
// Signing string (No Content-MD5 needed as this is a GET request with no body)
const requestLine = 'GET /v1/messaging/numbers/sender_address/addresses/ HTTP/1.1';
const signingString = `Date: ${date}\n${requestLine}`;
// Creating HMAC-SHA1 hash
const hmac = crypto.createHmac('sha1', this.sinch_messagemedia.$auth.api_secret);
hmac.update(signingString);
// Base64 encode the hash
const signature = hmac.digest('base64');
// Prepare authentication header and make the request
const authHeader = `hmac username="${this.sinch_messagemedia.$auth.api_key}", algorithm="hmac-sha1", headers="Date request-line", signature="${signature}"`;
const response = await axios({
method: 'get',
url: `${this.sinch_messagemedia.$auth.api_url}/v1/messaging/numbers/sender_address/addresses/`,
headers: {
'Date': date,
'Authorization': authHeader,
'Accept': 'application/json'
}
});
return response.data;
},
})
The Google Sheets API allows for the creation, reading, updating, and deletion of data within Google Sheets, enabling a robust platform for spreadsheet management and data manipulation. Through Pipedream, you can craft serverless workflows that respond to various triggers, such as webhook events, emails, or scheduled times, to interact with Google Sheets. This synergy can automate reporting, synchronize data across applications, manage inventory, track leads in a CRM, or even conduct survey analysis by updating and retrieving sheet data on the fly.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
google_sheets: {
type: "app",
app: "google_sheets",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://www.googleapis.com/oauth2/v1/userinfo`,
headers: {
Authorization: `Bearer ${this.google_sheets.$auth.oauth_access_token}`,
},
})
},
})