Creating contact folders with Outlook REST API? - outlook

Is it possible to create contact folders with Outlook REST API? I've looked into the docs for Outlook Contacts API and found only references to fetching existing contact folders (even in the beta version).
Other questions seem to focus on using C# and probably some specific SDK for that. I'm using Python, so that wouldn't work for me. I haven't found, both on StackOverflow and through Google in general, any definitive answers to this question. From the lack of any mentions in the docs, I'd assume it's not possible, but just wanted to get a definitive and/or official answer on that matter, if possible. Also please let me know if I missed something during my research.
Thanks!

There is a create folder operation, although it seems specific to Mail folders and doesn't take any parameters that can specify a folder type. It's possible it may take on the same item type as the parent folder, but I'm not certain.
Otherwise there is a create method specific for Contact folders in the Graph API; see https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/contactfolder_post_childfolders.
If you want a Python specific SDK, see: https://github.com/microsoftgraph/msgraph-sdk-python. Code samples: https://github.com/search?q=python+sample+user:microsoftgraph&type=Repositories
FYI, you can use any code platform to work with the Office 365 or Graph APIs, as long as they support REST.

After reading #Eric Legault's answer it gave me an insight to try something blindly. Even though the docs do not state it, you can create a folder by doing a POST to the contact folders endpoint with DisplayName property in the body.
So do
POST https://outlook.office.com/api/<version>/me/contactfolders with {"DisplayName": "folder_name"} in the request's body and it will work, returning the usual 201 Created response code.
This worked for me in both v2.0 and beta endpoints.
As of this writing, Outlook Contacts' UI (self-entitled Outlook People) is terrible and not user-friendly at all (either that or I just suck at understanding it), so I actually don't know how to create or delete contact folders through it, but I'm glad the REST API does the job :)

Related

Google Drive Api - Document without authorization

I am building an app where two different users will edit the same document online, using only plain text. For this I am using the google-api-php-client-master hosted on github.
There are some examples, but I don't understand what I need to do to achieve my goal. The official documentation is deprecated because it reffers to a library that is not online, and all the classes have different names and ways of working.
I already got my credentials, and know how to get a list of the documents hosted on my drive account. But now I need to:
Create new document
Grant access to a non-google logged in user, just accessing the link
I don't expect anybody to give me a written solution, but to know where I have to start.
Thanks a lot for reading.
Ok im trying to do almost the same thing and this is what i know so far:
Most importantly please reffer to the docomentation: https://developers.google.com/drive/v2/reference
There is a written example on how to create new file!( section files->insert)
One way to make a gdrive file public is to share it to the web via the google api. Another way is to make revision of it( section revision->update) and then publish it( by setting "published" = true in the update request).
Being aware of your requirements i gues that the publishing wont really help you achieving your goal, because it is just a revision of the document from the past and not its current state.

How to edit existing place with Google Places API

I am working for a business that deals with auto body shops - we have them subscribed to a service and want to enhance that service by utilizing the Goolge Places API.
I would like to update the places entries by adding or changing specific photos, descriptions and contact info. I realize there is a section of the documentation that deals with adding a 'place report' but I felt this flow was unclear and/or ambiguous.
In other words, what happens when i place this report? Is there a vetting process that only google is involved in? Does this even do what I'm asking it to do? Is this creating a new entry entirely?
Any help on clarification is appreciated. I may have missed the obvious here so if you feel that way let me know with a link please.
The Places Photo service is a read-only API that allows you to easily add high quality photographic content to your application.
https://developers.google.com/places/documentation/photos
Did you not understand the 'read-only' part?

Writing a web app using Dropbox API

I would like to write a web app that uses Dropbox for cloud storage.
If I understand correctly, I should use the Restful API to achieve that.
This documentation exists and is quite good but being a newcomer to Restful API I would love to see and play with a simple example that works with this API.
My questions are:
Am I right to assume that Rest API is the way to go?
Is there a quick and easy example (Maybe a live example) to get me going?
Thanks!
as you tagged your question with "ajax", i presume you want to do this entirely client-side (except for some proxy-code to be able to make requests accross domains)? I haven't tried it out myself, but there's dropbox-js on google code which will at least give you some ideas (and if the Dropbox API didn't change too much since June 2010 it might even work out of the box)?
Update: there's no "download", but you can browse the source code of trunk here.
Here's a lengthy article on the matter
Some love for Javascript Applications with code samples, a demo etc.

Ideas to extend this little project? - A pidgin web ui

I have built a little Web UI for Pidgin(respectively all libpurple based messengers) together with DBus and Sinatra.
It was for fun and learning purposes and now I'm looking for ideas to extend it.
Can you think of any useful applications or extensions for it?
Since I work on this project to learn something new, ideas for other technologies to be used/combined are welcome.
Finally here is the link: pidgin-web-ui
I few things that that might use to many many people would be:
good and simple to configure https support, so that users in "monitored" countries to be able to still chat freely (if the server is somewhere else).
Unified Message Archive . Many IM clients have various archive functions, but are different, limited, hard to search, and many are "client only", so not accessible when one needs them the most. Since Pidgin can connect to so many IM networks, it would be cool to have such a "global message hub archive". This would ensure that everything the user is talking is archived (very useful for businesses too), easy to search, available on a server (so always at hand).
File Archive on the server. The same as the Unified Message Archive, but for the files/images users exchange. Having them on the server (with a hash for easy sync) as a backup and archive would greatly reduce the traffic if they need to be shared more than once.
The would be many more nice features, that would help many users, but the above 3 seem to miss from usual IM software.
My idea after a brainstorming minute:
Dropbot
Create a messaging account anywhere and add this account as a contact to your messenger. This contact is your Dropbot.
Change your interpreter UI so it does not display a conversation but a log. In this way you can just drop things to the contact like interesting links. There could be a Dropbot for a read later queue, your favorite citations or for a list of funny findings.
You could then extend your UI to a little mashup. It could follow the links and grap the title of the page and a content preview just as Facebook does it when posting a link to your wall.
You could further extend your app by adding post-drop behavior to the Dropbot.
Dropbot could post your link (probably with a message) on Twitter or Facebook.
Dropbot could automatically distribute the link to the other contacts of it (like your friends)
Ok, that sounds fine... but you could do that without a message bot inbetween. What's the deal?
For me the advantage would be that my IM is always open and it would be fairly easy to drop a link. You could do the link dropping with Delicious or post stuff to a Google Wave, yeah. But I don't like to go to a web page, log in and organize stuff in the UI. Actually I stumble upon those links when I should do more important stuff instead. So just dropping it to my IM Dropbot contact would be cool.
Why not extend it to cover all the basic features of instant messaging (sending/receiving messages, adding contacts, etc...)? Seeing how many features you can reproduce may be a fun exercise. Create your own little Meebo...
Want to have fun?
Make a Markov-chained-based chatbot integrated into the web app. Make it use scraped web search results for the content, after searching for terms parsed out of the human's responses. That should be fun, and will give you funny, and sometimes eerily smart-looking results. Have fun!
I have seen your code. Why not split dbus_thread into a event_machine daemon for further scalability?
Integrate it with Twitter. Trace conversations (#Replies), including multi-party involvement. Log them. And so on.
Many interesting features and a popular, original API to learn.

Is it possible to generate notifications when new docs are uploaded to Google Docs?

I have shared a Google Docs folder with our remote team and a few members of my team. Is it possible to send out emails to all collaborators/viewers when a document is uploaded or edited in the folder?
Otherwise it becomes difficult to keep track of whether anything was changed or not.
Thanks.
Yes! Check out the Google Documents List Data API. Basically, you post a signed request to the API requesting specific documents or a list of documents overall and Google responds with an Atom feed of the documents that you're looking for. Among the tags is <updated>, which contains the timestamp of the last modification. If you keep a local listing of files handy, you can compare to see if any revisions were made.
Also interesting in the feed is <published>, which describes when a doc was created. If you know the last time you checked for updates, any docs published after that time can be considered newly created.
I'm not going to get into code (doesn't sound like what you're asking for), but this should get you on the right track. Hope it helps!
Yes and no.
Google Docs is not a consistent set of tools, so notifications are supported but only partially.
Google Spreadsheet has a set notification rules in the Tools menu
Google Form is linked to spreadsheet so they're covered too
You would have to do something yourself for Document/Word and Presentation apps
I would suggest reading the document from web and checking if the checksum was changed

Resources