My goal is to have a NSArray or NSSet with the labels that are attached to a specific Email in a Gmail account my app. My app mainly uses MailCore that doesn't support this feature so extending it would be a preferable way.
I've been at the google "API" website here that didn't helped much and also found this inside my libetpan library but even though I have an open IMAP session open with a gmail account I still can't translate this code and get Gmail labels for specified messages. Any code examples are welcome.
I think you can write methods in MailCore to wrap around the libetpan x-gm-labels extension. I've written the SORT extension in MailCore a few month ago. You can take a look at that :)
Add IMAP SORT command support. Pull Request on MailCore
Related
I'm creating an e-mail client for iOS and before the start of working on it, I want to select the best architecture for it.
For example, at the first stage, I want to connect Gmail. I searched and found that Google has a ready library for doing that, so I can just connect the library and fetch my emails.
Another way of doing that is fetching emails from the API in my web server and later to take these emails from my server.
The main purpose is not just to fetch emails, but to be able later to add some new filtrations to it or some other functionalities, maybe machine learning technologies for better personalisation, etc.
Also, I want to support multiple email servers(Gmail, Yahoo, Hotmail, etc.)
What do you advise me to choose, to fetch from my own server or directly from the email servers? I also understand the security issues in the case of using my own servers.
Your feedbacks will help me a lot! Thanks in advance!
You shouldn't use your own server for this task. You just don't need it. It's less secure and I'm pretty sure, that some of your clients will dislike the fact, that you can store their mails on your own server.
If you want to support multiple email server providers, then you should use IMAP protocol for receiving mails and SMTP for sending. Also, in some cases, you can use OAuth2 as authentication method, so you don't need to ask user to enter his credentials in your application.
I recommend you to use some open source libraries for working with IMAP and SMTP, because implementing this protocols by self can be complicated.
Sounds very similar to what I was doing. I was recently building PickedMail where the backend is heavy AI. For Google, you'll want to use Oauth2 and use the server_token to pass in to your server.
I created an iOS framework for this, hope that helps you. https://github.com/Thywis/MultiAccountOauth
For others like outlook, yahoo, iCloud, I'd suggest using IMAP for now.
I'm trying to create an application that needs to use a backend. That backend will be used to sync an app created (initially) for iOS, macOS, watchOS. Hope to expand after.
Firebase looks like a nice tool to do that, but it only has so many SDK's. I'd like to unify the codebase as much as possible to utilize code reuse.
Seems like their REST API is the way to go: I just create a framework using REST and we're off: https://firebase.google.com/docs/database/rest/start
However, their authentication doesn't seem to support REST.
How do I get around this limitation? What should I do to get a valid auth token that Firebase will understand?
Please keep in mind that I'm not very experienced with web stuff and even after reading a lot of articles, I'm still confused about how to exactly approach this. For example, this user had a similar concern, but I'm not exactly understanding the answer.
Firebase now officially supports REST API:
https://firebase.google.com/docs/reference/rest/auth/
You can query the Firebase Auth backend through a REST API. This can be used for various operations such as creating new users, signing in existing ones and editing or deleting these users.
I have added the Twitter and Google Drive app to my Slack team. For an ERP system I am currently working on, I’d like to replace certain URLs similar to how Twitter / Google Drive do:
Google Drive:
Your message containing the link will be changed into a share message
point to the external reference file in Slack
Twitter:
Automatically expand pasted Twitter URLs, displaying the full tweet
and attached media
The obvious way seems to be using an Outgoing Webhook with the first part of the URL (e.g. https://erp.acme.com) as "trigger word", but this doesn’t seem to be working with private groups and channels. Google Drive doesn’t seem to have this limitation. Which API offers enough flexibility?
An engineer from Slack replied and offered two solutions. Thanks Brad!
Solution A
Set the outgoing webhook trigger to <https://erp.acme.com – note the opening <, as that's how URLs are parsed on Slack's side. The outgoing webhooks currently only work in public channels.
Solution B
Provide meta tags to make use of Slack's "unfurling".
You can read the link expanding documentation here, as well as this in-depth blog post about Slack unfurling.
I want to fetch emails from a gmail account. I've managed to get the active token using oAuth 2.0 but I have no idea where to go from here. Google and stackOverflow took me here: https://developers.google.com/google-apps/gmail/imap_extensions but I still couldn't understand how to write a simple snippet that fetch the emails in to an array for example. I thought about using MailCore that works great by itself but it doesn't use oAuth 2.0 which is a must for me so I'm stuck with the gmail imap_extensions (API?) or what ever it's suppose to be.
I've tried digging some more on google and couldn't find anything helpful. How could it be that there isn't even one example in objective-c regarding using Gmail IMAP via oAuth 2.0? Really strange.
Edit: I should mention that I've also came across this: https://developers.google.com/google-apps/gmail/xoauth2_libraries but there's no objective-c examples there
Any help would be appreciated.
Essentially combining Parse with Pubnub, Pusher or similar, Instead of building a custom backend from scratch.
I'll be working on a real-time messaging system with facebook login and file storage/sharing. In theory I could use a combination of Parse and something like Pubnub to cover backend requirements. Were:
Parse takes care of:
Login
File Storage
Push-notifications(closed app)
And Pubnub takes care of:
real
time delivery of messages...
Requirements:
I need a system that can extend to millions of users if needed and can be deployed quickly
In general a solution that will fit this criteria and specs.
Criteria:
Quick deployment by one or 2 developers.
Can expand to millions of users.
High reliability
Specs:
FB Login
Realtime Msg delivery
Push for closed app delivery
Shared file & image storage
Any feedback if this as a first stage deployment would work well and any pitfalls would be greatly appreciated.
I'm a little biased but check out StackMob (www.stackmob.com), with the StackMob Marketplace you get direct access to PubNub with no need to create a second account. There are also a lot of other great services in the marketplace to add functionality such as SendGrid.
All the features you are looking for are out of the box even the separate development and production accounts. Something you don't get with Parse. With a simple click of a button you can move Schemas and custom code from development to production.
We can certainly support the users you are talking about. We have 7 games from Atari on the platform and other big enterprise like Land O Lakes and Adidas Japan. We also have a great track record when it comes to reliability.
Sounds good, but 2 systems (Parse and PubNub) contradict your criteria Quick deployment by one or 2 developers.
There is reason to find one system which satisfies all your requirements.
You could loot at QuickBlox backend - your own cloud backend
It has 7 modules(sets of API) for different tasks. You may be interested in:
Users module - it has Facebook/Twitter login
Messages module - this is Push Notifications. It supports iOS, Android, BlackBerry, WindowsPhone push notifications
Content/CMS module - it allows to store/share/stream any type of files, any size (up to 5 TB!)
Chat module - realtime message delivery. QuickBlox Chat is a quick and reliable chat solution which combines benefits of scalable cloud hosted XMPP chat server, seamless Single Sign-On authorization via Users module, incoming IM / chat alerts via Push Notifications and file attachments via Content.
I recommend look at it, it also have lots of great features such custom API creation via Custom Objects module
Also, there is Enterprise solutions - QuickBlox this is white box, so you can deploy it to your own server and re-sale to other clients if you want
The short answer:
no.
The details:
Anyway you hash it, it's too expensive to setup a chat with any of these systems since their BaaS model is based on charging on a per number of calls basis.
I had to work out a lot of the logic my self using parse.com and now that I'm implementing an XMPP solution, the quantity of work is the same to get something working.
My alternative solution:
Use an open source xmpp server like ejabberd on something like AWS and then use one of the APIs to connect to it.
Contact me of you need more info on my experiences:
#andrescanella