Gmail add-on - “Missing access token” when using getMessages() in multiple threads (but fine for current...
I have written a Gmail add-on which, when the user opens an email, finds the label of the thread (the thread only has one label). If there are multiple threads with the same label, it fetches the messages in those threads. Otherwise it fetches the messages from the thread with the opened email.
When there is only one thread, it works fine. When there are multiple threads, I get an access token error:
Access denied : Missing access token for authorization. Request: MailboxService.GetThread. [line: xx (the line highlighted in the code below) etc
The add-on uses the access token correctly as far as I can tell. The numbers of emails and threads are very small (three or four threads with a few messages in each).
Below is a simplified version of my code. Does anyone know why I should get the access token error when I try to access messages of other threads?
I have tried using other methods for building the array of messages (search, filter/function etc), but the result is the same: no problem with the single thread containing the trigger email, but access denied when accessing multiple threads.
function getAllMessagesWithTheSameLabel(message) {
var threads = ;
var messages = ;
var thread = message.getThread();
var label = thread.getLabels()[0];
if (label.getThreads().length > 1) {
threads = label.getThreads();
**messages = GmailApp.getMessagesForThreads(threads);**
} else {
messages = GmailApp.getMessagesForThread(thread);
}
}
gmail-addons
add a comment |
I have written a Gmail add-on which, when the user opens an email, finds the label of the thread (the thread only has one label). If there are multiple threads with the same label, it fetches the messages in those threads. Otherwise it fetches the messages from the thread with the opened email.
When there is only one thread, it works fine. When there are multiple threads, I get an access token error:
Access denied : Missing access token for authorization. Request: MailboxService.GetThread. [line: xx (the line highlighted in the code below) etc
The add-on uses the access token correctly as far as I can tell. The numbers of emails and threads are very small (three or four threads with a few messages in each).
Below is a simplified version of my code. Does anyone know why I should get the access token error when I try to access messages of other threads?
I have tried using other methods for building the array of messages (search, filter/function etc), but the result is the same: no problem with the single thread containing the trigger email, but access denied when accessing multiple threads.
function getAllMessagesWithTheSameLabel(message) {
var threads = ;
var messages = ;
var thread = message.getThread();
var label = thread.getLabels()[0];
if (label.getThreads().length > 1) {
threads = label.getThreads();
**messages = GmailApp.getMessagesForThreads(threads);**
} else {
messages = GmailApp.getMessagesForThread(thread);
}
}
gmail-addons
add a comment |
I have written a Gmail add-on which, when the user opens an email, finds the label of the thread (the thread only has one label). If there are multiple threads with the same label, it fetches the messages in those threads. Otherwise it fetches the messages from the thread with the opened email.
When there is only one thread, it works fine. When there are multiple threads, I get an access token error:
Access denied : Missing access token for authorization. Request: MailboxService.GetThread. [line: xx (the line highlighted in the code below) etc
The add-on uses the access token correctly as far as I can tell. The numbers of emails and threads are very small (three or four threads with a few messages in each).
Below is a simplified version of my code. Does anyone know why I should get the access token error when I try to access messages of other threads?
I have tried using other methods for building the array of messages (search, filter/function etc), but the result is the same: no problem with the single thread containing the trigger email, but access denied when accessing multiple threads.
function getAllMessagesWithTheSameLabel(message) {
var threads = ;
var messages = ;
var thread = message.getThread();
var label = thread.getLabels()[0];
if (label.getThreads().length > 1) {
threads = label.getThreads();
**messages = GmailApp.getMessagesForThreads(threads);**
} else {
messages = GmailApp.getMessagesForThread(thread);
}
}
gmail-addons
I have written a Gmail add-on which, when the user opens an email, finds the label of the thread (the thread only has one label). If there are multiple threads with the same label, it fetches the messages in those threads. Otherwise it fetches the messages from the thread with the opened email.
When there is only one thread, it works fine. When there are multiple threads, I get an access token error:
Access denied : Missing access token for authorization. Request: MailboxService.GetThread. [line: xx (the line highlighted in the code below) etc
The add-on uses the access token correctly as far as I can tell. The numbers of emails and threads are very small (three or four threads with a few messages in each).
Below is a simplified version of my code. Does anyone know why I should get the access token error when I try to access messages of other threads?
I have tried using other methods for building the array of messages (search, filter/function etc), but the result is the same: no problem with the single thread containing the trigger email, but access denied when accessing multiple threads.
function getAllMessagesWithTheSameLabel(message) {
var threads = ;
var messages = ;
var thread = message.getThread();
var label = thread.getLabels()[0];
if (label.getThreads().length > 1) {
threads = label.getThreads();
**messages = GmailApp.getMessagesForThreads(threads);**
} else {
messages = GmailApp.getMessagesForThread(thread);
}
}
gmail-addons
gmail-addons
asked Nov 28 '18 at 11:42
JernJern
1113
1113
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53518642%2fgmail-add-on-missing-access-token-when-using-getmessages-in-multiple-threa%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53518642%2fgmail-add-on-missing-access-token-when-using-getmessages-in-multiple-threa%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown