Take the 2-minute tour ×
Stack Apps is a question and answer site for apps, scripts, and development with the Stack Exchange API. It's 100% free, no registration required.

I'm looking at how the Stack Exchange API could be useful in my site. Is it fair to say I am in read-only mode when I search for results? What is some envisioned use-case scenarios for this?

I imagined a use case for my site. Is it possible for me to take a given ID (say OpenID) and see if they are a user of your site? I'd like to give users with high reputation extra access on my site.

What do you think?

share|improve this question
add comment

2 Answers

A possible strategy for maintaining a verified association might look something like this:

  1. Gather a reference account from the user, similar to http://soapi.info/findusers.aspx, and upon user selection.
  2. Gather and verify an email address from your user.
    • make it clear that this email address should be the primary email address with which they sign into stackxxxx
  3. compare the email_hash of the selected User to the MD5 hash of the verified email address (lower cased) and if a match occurs, create the association on your site.

You now have a verified association. You can then use the association_id, if any, of the reference user to get any other accounts the user may have in the stack exchange network.

NOTE: you will soon see an example of this in the samples for Soapi.CS and Soapi.JS2

share|improve this answer
    
I can't wait to see a sample! –  makerofthings7 Aug 26 '10 at 21:48
    
@maker and all - a very good first step to implementing this the other way around, e.g. getting an email address and working up, relying on the API only when you come up short locally, is maintaining a local database of user information. A sample implementation is here: stackapps.com/questions/1542/…. The rest of the implementation is straight forward and will be posted here by tomorrow. –  Sky Sanders Sep 6 '10 at 2:36
    
@maker - please contact me @ sky.sanders@gmail.com –  Sky Sanders Sep 7 '10 at 19:43
add comment

The current version of the API is read-only.

There is no notion of user authentication, accordingly you cannot tell if a user (of your [app]) has an account on a site.

The envisioned use cases are all data-centric, not user centric. Some subsequent version of the API (presumably, the next one) will include write-access, and with it user authentication.

share|improve this answer
    
If my user has an SO account, and sees a search result on my site via the API, what must I do to enable them to edit the question (e.g. a link that says "Edit on Stack Overflow.com") –  makerofthings7 Aug 26 '10 at 20:05
    
@Maker - send them to the post with instructions to edit. You could gin up a url that takes them directly to the edit page for that post ( for example ), but such functionality is tangential to the API at this time. –  Kevin Montrose Aug 26 '10 at 20:17
    
@Kevin - I just used a dictionary on "tangential". Does that imply that there will be something more in alignment with the API's vision anytime soon? –  makerofthings7 Aug 26 '10 at 20:31
    
@Maker - the time-frame for the next API revision is currently "sometime next year," per this blog post‌​. –  Kevin Montrose Aug 26 '10 at 20:46
    
@Kevin, Thanks - I heard something about API2.0 for the new sites like "area51" etc. I'm confused... are there more than one API with divergent features? –  makerofthings7 Aug 26 '10 at 20:55
    
@Maker - no, the API (v. 1.0 currently) is an SE-2.0-only feature (area51 and stackexchange.com have no API, as they aren't "sites" from the API's perspective). That's probably where the confusion started. –  Kevin Montrose Aug 26 '10 at 21:10
    
@Kevin: Are there plans to support Area51 in the future? –  Nathan Osman Aug 26 '10 at 21:35
    
@George - not currently. –  Kevin Montrose Aug 26 '10 at 21:53
    
@Kevin: Could we at least have one method to associate all the other accounts with an Area51 user ID? –  Nathan Osman Aug 26 '10 at 21:55
add comment

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .