IFTTT and Codecademy integration


#1

So I was reading this http://blog.beeminder.com/oauth/ while my Akrasia-chlorian count steadily rose and hope drained from me, and the light in my eyes began to fade…

Then someone mentioned IFTTT and a channel, and I realized. “I think that’s already happened!”

Needless to say if I"m using Codecademy it’s because I know barely enough about the relevant topics including channel integrations that I feel like my next question is probably dumb, but I"m going to ask anyway.

With all this talk about Beeminder, and Codecademy, IFTTT, and channel improvements, is it currently possible to make a Codecademy integration and how do I go about it? I will post a detailed video of the process for all 27 people who are interested in this at the uservoice page, if I can figure it out.


Actually I realize votes don’t exactly correlate to interested individuals, but it’s got to be around that number. Got to be! :slight_smile:


#2

Do you know of any way to get progress information from Codeacademy? Is there an RSS feed? A way to make it tweet when you work on it? A way to make it post to your facebook?


#3

Ideally, I’d want to use the points system that CC uses. Element name ‘index__points’. The article I referenced mentions ‘stat_count’ but I don’t see it (yet).


#4

It looks like their profile pages are public, e.g. https://www.codecademy.com/scriptAce74322 – but there’s not an obvious way to get that as structured data, I mean, from a very little bit of googling and poking at the page source.

So the first step is figuring out if there’s a way to get that profile / progress info as structured data of some kind (e.g. json or xml). Either through an official api, or an rss feed or something. An RSS feed would actually be great because you can hook that into an IFTTT recipe and send it on over to Beeminder probably without any further coding.

If it’s not possible to get that from them as json, it’d still be possible to scrape the profile page since they’re public (e.g. grab the url and run it through an html parser and grab just the element that you want), but that tends to be pretty unstable, because people be changing the structure of their html pages all the time.

Step 1: find the json/rss

B


#5

Here is a response I got from a Codecademy moderator.

zystvanCodecademy Moderator3h
https://www.codecademy.com/api/v1/users/[USERNAME]/achievements.json1

Codecademy used to have several more JSON pages full of information, but now there are only a few. That’s one of the few left.

Doesn’t sound too hopeful. :confused:


#6

Is there any beemindable metric in that achievements.json page though?


#7

I added an integration to mind Codecademy points to akr.asia. However, it is getting the points by scraping the profile page, so it may be unstable if they change their HTML (as @bee mentioned earlier in the thread).

Also note the visibility of your profile page must be set to “Everyone” in your Codecademy settings for this integration to work.