programmatic dropbox sharing - bash

Are there any option through out the dropbox api namely the REST version, to programmatically exercise the sharing options or has anyone invented or discovered a unique approach to this using unix or nodejs command line tools? curl, etc, etc
I basically want to invite people to dropbox folders through scripts/command line and also accept invitations through scripts/command line.
Right now, to accept invitations you have to click 2 links, one in an email and then one within your dropbox web interface.
And in order to invite, one must login dropbox, click the folder you want to share and then enter an email and click a button.
I would like to do all this in simple 'ol terminal.

The Dropbox API currently does not offer any calls for managing shared folders (e.g., creating, accepting, etc.)

I've just released this little gem to do this using the web interface: https://github.com/Jesus/dropbox-invite
The proper way would be doing it through the API but since there's no official implementation I had to build a workaround.

Related

How can I let others read and edit a google sheet (not shared with them) using googleapi, without them having to download credential?

I am a beginner trying out api for fun.
The problem is, lets say, I want to write a simple windows program with golang to let my friends read and edit one of the sheets saved on my google drive. How can I do this without having them download a credential file?
What I want it to do is simply redirect them to the Oauth Page right away, and if their email address is one recognized by the app it will grant them access to that google sheet.
What i think you need is to integrate your go app with Oauth protocol.
More specifically, with the Google provider.
This is mainly 3 steps:
add the oauth client to your application
something like this: https://github.com/golang/oauth2
See their docs on how to do it.
go to google dev documentation and see how to integrate google auth flow into the client: https://developers.google.com/identity/protocols/OAuth2
I'm not sure if google has something more specific for google drive integration and/or go-lang client in particular. Please do some searching.
make the glue code on your go app so that the user can interact with this (the login button (or command, if it is terminal based), error messages, logout, etc)
More questions will appear when you start to do this, however it is a great example to learn Oauth as well.
General guidelines:
https all the queries or oauth is basically useless
oatuh has many auth-flows and you must choose which one(s) you support. use whatever google documentation recommends for m2m scenario (machine 2 machine)
log errors so that your friends can send you a log file for you to debug issues
maybe set some feature flag so that you can simply disable this feature to run/test localhost ? maybe useful? you decide.

Mozilla WebExtensions support for Firefox Profiles

I want to create a Firefox Addon using WebExtensions, that will;
Display user, list of already created Firefox profiles
Ability to switch Profile
Just like User Agent Switcher (it was built on top of Mozilla Addon SDK). Watch https://www.screencast.com/t/Zj4AkTmFfA
I am unable to find any api reference over https://developer.mozilla.org/en-US/Add-ons/WebExtensions to access profiles list or switch profile.
Not sure if Mozilla is going to remove accessing Firefox profiles from within WebExtensions like they have restricted access to Firefox preferences (about:config).
I'm afraid there is no API, at the moment, to deal with user profiles. Other than the list on MDN, there's a list of APIs that have been approved and are being implemented.
However, there is one mid-term possibility: you can file a bug to request the support for a new API. This doesn't necessarily mean that your request will be implemented, but it does mean that it will be at least discussed. There's a guide here on how to do that.
If none of these options address your situation, you can consider
filing an API request. Before you do, please keep in mind:
The goal of WebExtensions is not to support every use case from legacy extensions. In most cases, the functionality you need can be
built with WebExtensions APIs, but it requires some re-thinking and
modification.
Generic or very broad bugs are hard to turn into actionable issues. Try to limit the focus if possible.
We do try to review all incoming API requests, but it takes time, so please be patient.
Do a search to see if the bug exists already.
Still want to file a new API? You can do so here.
Please note that there are ideas for filesystem access post Firefox 57: this could potentially be used to at least show the different user profiles.

Sending email directly from my OSX app

I'm working on an OSX app which will handle an opt-in mailing list. I have a database containing opt-in email addresses, and the goal is for the user to click one button and have the app build a custom email update, then send out an email update to all members of the mailing list. This would be used for things such as updating fans about a band's performance, etc.
I found lots of information for the iOS mailComposer, but nothing for something comparable in OSX. I did find a reference to a message framework, but for some reason can not find the documentation for it in the library (I'm sure it must be there somewhere...) The only other information I found suggested using a mailto: URL, which somewhat defeats the automated process I'm hoping to achieve.
Can anyone point me in the right direction? Is there a specific framework I could research to determine how to active this goal?
If you want to create and mail your own messages, not going through Apple Mail (or the user's mail client), perhaps the EdMessage framework will work for you? (<-- and I've linked it for you)

How can i get list of domain users from Google Apps account without administrative access?

This is a similar question to How can i get list of Domain user's from Google Apps account?
However, I'd like to use a normal account (not an administrative account) to retrieve the user list. It seems like this should be possible as the gmail autocomplete returns domain contacts not listed in the user's contact store. I've looked at the autocomplete Ajax call, but it requires something in the beginning of the string (and no, I don't really want to loop through a-z one by one - that is just way to hacky). For example:
https://mail.google.com/mail/c/u/0/data/contactstore?ac=true&ct=true&gp=true&hl=en&id=domain&max=15&out=js&tok=beginningOfUsersName&type=4
Both versions of the Google contacts API seem to omit domain users unless you have them imported into your own contacts list. I've also looked at querying users in the "Coworkers" system group, all to no avail. I also find it interesting that "add a coworker's calendar" on Google calendar does not provide autocomplete - they use a popup instead.
I'm working on a C# project, but this is a general Google API question, so any pointers in any language would help.
Update
It looks like this is feasible now with admin/directory google api endpoints
see: https://developers.google.com/admin-sdk/directory/v1/guides/manage-users?authuser=0#retrieve_users_non_admin
Original answer
I was able to work around this issue, so I'll document the workaround, even if it doesn't involve Google. I wrote a program (in C#) to query the internal Active Directory (LDAP) store and pick up all the users from there instead. At that point I could get their email addresses and query Google with it. Not the best method, but it worked for my needs.
The C# was roughly patterned from this powershell script, although I pulled out the computers query and added in the capture of the user's email address: http://www.visualbasicscript.com/List-all-users-or-computers-in-the-default-domain-m35650.aspx
The LDAP property I included to get the proper email address for Google was 'proxyAddresses', although this will not be correct for all environments.

Can the opensocial API remotely search for users in orkut etc.?

Does anyone know if (and how) I can build an application (Java/Ruby/whatever) doing REST or RPC calls to a social network like Orkut (using opensocial) to search for a user by name or email address? So far I know that I can list all friends for a particular user ID, but I want to search among all users. Would I need to code it as an app/gadget running inside the google sandbox or is there a way to get a list of matching user ID via REST?
So far I got this one to work: http://code.google.com/p/opensocial-ruby-client/wiki/GettingStarted. But with this API and the gadget linked there I only get people that are already linked to me...
Thanks for answers,
Martin
No, you can't do that. At least, OpenSocial doesn't have spec like that.
In addition, SNS normally have privacy policy which disables developers to poke around users who hasn't installed your app.
Think OpenSocial API access to private information is quite limited.

Resources