# GPT-Chrome Background.JS
const googleApiKey = 'AIzaSyBw90X4wIJi2kvQegguCnCUgPvuhWYmofY';
const openAiApiKey = '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';
const iftttApiKey = 'SWkVZk87GWFA0jJuLWwTW0wx_LByQ5hP-mCSsspEjX6O9A3MREyQ7KPPsSiKNMoa';
const customSearchEngineId = '3572e2d024f534ff6';
const googleDriveApiKey = 'AIzaSyBw90X4wIJi2kvQegguCnCUgPvuhWYmofY';
const gmailApiKey = 'AIzaSyBw90X4wIJi2kvQegguCnCUgPvuhWYmofY';
const userAccessToken = 'YOUR_USER_ACCESS_TOKEN';
async function doTasks(prompt) {
async function searchGoogle(query) {
const response = await fetch(`https://www.googleapis.com/customsearch/v1?key=${googleApiKey}&cx=${customSearchEngineId}&q=${query}`);
const data = await response.json();
return data.items;
}
async function searchGoogleImages(query) {
const response = await fetch(`https://www.googleapis.com/customsearch/v1?key=${googleApiKey}&cx=${customSearchEngineId}&searchType=image&q=${query}`);
const data = await response.json();
return data.items;
}
async function triggerIFTTT(event, value1, value2, value3) {
await fetch(`https://maker.ifttt.com/trigger/${event}/with/key/${iftttApiKey}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
value1: value1,
value2: value2,
value3: value3
})
});
}
async function createGoogleDoc(title, content) {
const fileMetadata = {
name: title,
mimeType: 'application/vnd.google-apps.document'
};
const requestBody = {
mimeType: 'application/vnd.google-apps.document',
uploadType: 'multipart',
media: {
mimeType: 'text/plain',
body: content
}
};
await fetch(`https://www.googleapis.com/upload/drive/v3/files?key=${googleDriveApiKey}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${userAccessToken}`
},
body: JSON.stringify({
fileMetadata: fileMetadata,
requestBody: requestBody
})
});
}
async function createGoogleSheet(title, data) {
const fileMetadata = {
name: title,
mimeType: 'application/vnd.google-apps.spreadsheet'
};
const response = await fetch(`https://www.googleapis.com/drive/v3/files?key=${googleDriveApiKey}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${userAccessToken}`
},
body: JSON.stringify(fileMetadata)
});
const responseData = await response.json();
const spreadsheetId = responseData.id;
await fetch(`https://sheets.googleapis.com/v4/spreadsheets/${spreadsheetId}/values/A1:append?valueInputOption=RAW&key=${googleDriveApiKey}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${userAccessToken}`
},
body: JSON.stringify({
range: 'A1',
values: data
})
});
}
async function sendEmail(to, subject, body) {
const email = `To: ${to}\r\nSubject: ${subject}\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n${body}`;
const base64Email = btoa(email).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
await fetch(`https://www.googleapis.com/gmail/v1/users/me/messages/send?key=${gmailApiKey}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${userAccessToken}`
},
body: JSON.stringify({
raw: base64Email
})
});
}
const recipient = 'user@example.com';
const emailSubject = 'Task Completed';
const emailBody = 'Your tasks are complete!';
sendEmail(recipient, emailSubject, emailBody);
}
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.type === 'executeTasks') {
doTasks(message.prompt);
}
});