Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use a free web service for tutorial? #103

Open
invious opened this issue Sep 15, 2016 · 10 comments
Open

Use a free web service for tutorial? #103

invious opened this issue Sep 15, 2016 · 10 comments

Comments

@invious
Copy link

invious commented Sep 15, 2016

Is this your way of donating to pinboard? 😉 or is there a way to make a free account or an API key listed somewhere?

I really want to use this so I might shell out the $11 💵

@deanishe
Copy link
Owner

I'm afraid Pinboard is paid only. As such, it was never a perfect choice for the tutorial. I used it because the API is simple enough that the tutorial can be about using Alfred-Workflow and not dealing with the API.

I really need to write another tutorial now that Alfred 3 is out, and I will definitely use a free service for this one.

If you have any suggestions, I'd love to hear them. The main thing is the API has to be fairly simple, so the tutorial code is about Alfred and Alfred-Workflow, not dealing with the API. For this reason, it would have to be JSON-based and use fairly simple authentication (i.e. no OAuth or the like).

The GitHub API might actually be a good fit.

@invious
Copy link
Author

invious commented Sep 15, 2016

How about using this Ruby Giphy Alfred Workflow and porting it to Python?

(this is my fork, which includes a swift script to put the giphy on the pasteboard, which was my only addition. The ruby source includes a library that to my untrained eye seems to appear to be similar to what you are doing with python, also written by the author of the script)

@deanishe
Copy link
Owner

Thanks for the suggestion. It covers a lot of the bases, but I don't think it lends itself to demonstrating the caching and filtering features :(

@vitorgalvao
Copy link

Pinboard’s API is based on Delicious’, even the things that don’t make much sense.
image

Since delicious is free, that might be the easiest way to convert the tutorial to a free service.

@deanishe
Copy link
Owner

deanishe commented Apr 1, 2017

Pinboard's API is based on the del.icio.us API from 10 years ago.

I don't think del.icio.us still offers an API. At least I couldn't find any mention of it.

@deanishe
Copy link
Owner

deanishe commented Apr 1, 2017

Perhaps a weather API, like DarkSky?

Or I could use an existing workflow, like this Smart Folders one, which is based on mdfind.

Heck, I could add a simple API to my icon generator. I'd have to add authentication, too though, to demonstrate the Keychain API ☹️

@deanishe
Copy link
Owner

deanishe commented Apr 1, 2017

So, the library features the tutorial should cover are:

  • Saving data
  • Caching data
  • Keychain
  • HTTP (ideally)
  • Filtering data (partially covered by Alfred)
  • Saving settings (partially covered by Alfred)
  • Catching errors (partially covered by Alfred)

The idea candidate is a simple (JSON-based?), authenticated HTTP API that returns a few hundred searchable, "recent" data.

An authenticated RSS feed might be a good fit. Is there a free service that offers any suitable ones?

@mittelgrau
Copy link

Have thought about using something simple like this one?

@deanishe
Copy link
Owner

Thanks, @mittelgrau. I'll definitely keep that in mind if there isn't a suitable API that does something useful.

@lisaross
Copy link

I know this is from ages ago, but if you're still looking for something you could use that's free and covers all your criteria above @deanishe, I think the rebrandly api might do the trick. https://developers.rebrandly.com/docs

I'm going to try to repurpose what you've done using their API to see if I can pull in some shortlinks similarly to how you've done with pinboard. If I can get it working (I'm also re-learning Python at the same time, so I may not) I'll share it here for you to use if you like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants