如何解决如何获取从Gmail API收到的电子邮件内容的屏幕截图?
我正在访问gmail api,以获取当前登录用户收到的电子邮件的数据。我为此使用打字稿。 以下是我用来获取用户电子邮件的代码:
import { gmail_v1 as GmailV1,google } from 'googleapis';
import { ITokens } from '../types/types';
const oAuth2Client = new google.auth.OAuth2(
process.env.CLIENT_ID,process.env.CLIENT_SECRET,'http://localhost:3000/xxxxxxxx/auth/google/xxxxx'
);
async function getEmails(code: string) {
const { tokens: credentials } = await oAuth2Client.getToken(code);
const tokens = credentials as ITokens;
oAuth2Client.setCredentials(tokens);
const messages = await getMessages('me',tokens);
if (messages) {
await getMessagesOverview('me',tokens,messages);
}
}
async function getMessages(id: string,tokens: ITokens) {
oAuth2Client.setCredentials(tokens);
const gmail = google.gmail({ version: 'v1',auth: oAuth2Client });
const { data } = await gmail.users.messages.list({
userId: 'me',maxResults: 20,pageToken: '',includeSpamTrash: true,});
const { messages } = data;
return messages;
}
async function getMessagesOverview(
id: string,tokens: ITokens,messages: GmailV1.Schema$Message[]
) {
const messageIds = messages.map((m) => m.id);
const { access_token } = tokens;
// An abstraction for sending multiple requests to gmail api
const batch = new BatchRequest(access_token);
const messageDetails = [];
for (const msgIds of messageIds) {
try {
batch.add(msgIds);
const resp = await batch.send();
const succeededResp = resp.filter((res: any) => res.id);
const details = formatMessage(succeededResp);
// Capture the screenshots here
// Save it to some cloud image store
messageDetails.push(details);
} catch (e) {
console.warn('email.save.failed',e);
}
}
// fs.writeFileSync('sample.json',JSON.stringify(fileData));
}
function formatMessage(message: string) {
const formatted = message;
// .... some format logic
return formatted;
}
我想知道是否有办法在移动和桌面视图中截取电子邮件的屏幕截图。我知道操纵p是一个选择。
但是据我所知,木偶不是Gmail下的呈现引擎。因此,我不确定如何拍摄桌面和移动视图下gmail中的外观截图。 请为我提供任何可能的解决方案。
先谢谢了。干杯。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。