It looks like we have to force encoding, which requires an enhancement. We have just informed our product team who will keep you posted here.
May I know what is the exact scenario you are looking to decode an encoded data?
If you are just looking to encode and decode string pills, we have a proposed workaround:
in formula mode, use
" "+ "test".encode_base64.decode_base64
this will force explicit encoding of string in utf-8 format and then return the string after decoding. Hope this help!
I want to decode the "raw" field of a Gmail message. This needs to be done using "Web Safe" Base64 (i.e. RFC 4648 standard).
See the Gmail API here, look for the "raw" field:
Now you can use the following methods:
1. as_string('utf-8') - ex: "Test".encode_base64.decode_base64.as_string('utf-8') # Test
2. as_utf8 - ex:"Test".encode_base64.decode_base64.as_utf8 # Test
If you are using as_string method, encoding style is required.
Hope this helps.
Still not working, because what we need is "Web Safe" Base64 (i.e. RFC 4648 standard). This base64 decoding doesn't conform, it needs to be base64URL. Please have a look at the Gmail API (see above). The message "raw" ist decoded e.g. in Java:
byte emailBytes = base64Url.decodeBase64(message.getRaw());
Not sure why this shows as "implemented", this is still broken...
Workato Gmail Connector Mail response is either plain text or HTML text.
How are you getting the raw data? Are you trying with HTTP Connector or Custom adapter?
Between, Our team is implementing a formula "decode_urlsafe_base64" for URL safe. We will update you once ready.
In general, the as_utf8 and as_string('utf8') formulae works with Normal text. So, I marked as implemented.
I use HTTP OAuth2. The fix is very easy - I have written my own workaround, see recipe #523553. Maybe that helps
Send us a ticket, we will try our best to assist you with your problem