необработанный атрибут в ресурсе сообщения в пакете Ballerina/gmail

var response = gmailClient->readMessage(userId,msg_id);
gmail:Message msg;
match response {
    gmail:Message m => msg = m;
    gmail:GmailError err=> io:println(err);
}
gmail:MessageBodyPart msg_body = msg["plainTextBodyPart"];
string msg_content = msg["raw"];

Когда я использую атрибут «plainTextBodyPart» в ресурсе сообщения в пакете ballerina/Gmail, он правильно возвращает тело сообщения. Но если я использую атрибут «raw» того же ресурса, что и выше, он возвращает нулевое значение. В чем ошибка? мой код?


person ThiliniD    schedule 06.07.2018    source источник


Ответы (1)


Функция 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