Функция readMessage() Ballerina GmailConnector[1] принимает 4 параметра, 2 из которых являются необязательными. Параметры format и metadataHeaders являются необязательными. Вы также можете обратиться к документации Gmail API [2].
В вашем случае, поскольку вы не передаете никакого значения для format, ваш запрос readMessage будет иметь формат по умолчанию: "FORMAT_FULL" [3]. Это указано и в документации API[1]. Таким образом, ответ, который вы получите для этого от Gmail API, не будет иметь поля "raw" и строкового поля "raw" ресурса Message ресурса разъем будет пустым [4]. Таким образом, вы получите пустую строку, когда попытаетесь получить к ней доступ как msg["raw"].
Это пустая строка или нулевое значение, которое вы получаете? Потому что в идеале он должен возвращать пустую строку для вашего кода, и когда я попробовал тот же код, я получил пустую строку для поля "raw", как и ожидалось.
Если вы хотите получить все сообщение электронной почты в формате строки RFC 2822 и кодировки base64url с использованием поля "raw", вызовите функцию readMessage, как показано ниже, указав формат FORMAT_RAW. ,
var response = gmailEP->readMessage(userId, messageId, format = gmail:FORMAT_RAW);
Дайте мне знать, если это поможет вам.
[1] https://central.ballerina.io/wso2/gmail
[2] https://developers.google.com/gmail/api/v1/reference/users/messages/get
[3] https://github.com/wso2-ballerina/package-gmail/blob/master/gmail/gmail_connector.bal#L75
[4] https://github.com/wso2-ballerina/package-gmail/blob/master/gmail/gmail_data_mappings.bal#L40
person
DuW
schedule
07.07.2018