Tag Info

Hot answers tagged

10

Move the id value into the query string In that the id is vectorized, it is designed to represent multiple values. Currently the id field is a component of the url. This severely constrains the number of records that can be retrieved far below the stated maximum of the max pagesize which is 100. Another, more serious, implication of this limitation is ...


10

Just wanted to let everybody know that I just made a new release of the library here. This release includes tons of bug fixes as well as some breaking changes which shouldn't be a problem if you have been running off the trunk. Also, by popular demand, I added a .Net 3.5 version of the library to this release. The hope here is to eventually have a mono ...


9

EDIT: Implemented using Web Sockets (because the caching characteristics of the API does not allow real-time notifications). I created a Chrome extension and Firefox add-on, and created a Stack Apps listing at Real-time desktop notifications for Stack Exchange inbox. In Google Chrome, the popup is closed when performing an action outside it (clicking, ...


9

Addons Stackprinter allows you to print directly from Stack Exchange sites using Greasemonkey script or an handy bookmarklet. Greasemonkey script adds a Printer-Friendly button to the question you are browsing (Firefox and Chrome both supported). Bookmarklet is useful if Greasemonkey is not an option and has the same effect of Printer-Friendly button, ...


9

User Authentication This is an obvious one (and a stated goal for V2, I think). The basics would be for some way to authenticate a user against his StackOverflow/etc user. Also, a way to access the "linked accounts" information would be great (so authenticating a StackOverflow user will automatically give the application knowledge of his other accounts ...


9

I updated several aspects of the app in response to user feedback: Error handling is somewhat better (it will now tell you if your token is invalid, instead of a generic "error" alert) Queued API calls are aborted now, which should speed up site changing, among other things. There's now an option to deauthorize the app, should you decide to revoke its ...


6

For /sites (and only it) I have removed the pagesize constraint. I believe in this case it makes sense, since applications are expected to query all of that data and cache it for long periods of time. The constraint remains elsewhere, as it's very important for performance reasons.


6

Most routes that take an ID, including the /users route, will accept multiple values separated by semicolons. For example, a query like /users/1%3B22656?site=stackoverflow will give you results for both user 1 and user 22656. You can combine up to 100 ids in this fashion.


5

"Agile" API releases are a really bad idea, frankly. The StackOverflow code base undergoes rapid iteration already, just watch the build numbers. On average we deploy at least once a day. Oftentimes these are just bug fixes, but a non-trivial amount of the time we're introducing new features or revising existing ones. To take one feature for example: ...


5

I think Py-StackExchange is your best bet; there's an API V2.0 branch that seems to be active.


5

See the "Safety" heading in the "Custom Filters" doc. The difference between a "safe" (default) filter and an "unsafe" filter, is that the unsafe data might return data that could result in a script injection if the data was directly inserted in an HTML document. (EG: '<script src="PwnYaSucka.com">...') Some fields are apparently inherently devoid ...


5

By "bio" you mean the about me field, right? ... Any path that returns a user object will return the about_me property, but this is not returned by default. You have to use a filter that has about_me enabled. For example, here is a query to get your "About me" on stackapps: users-by-ids#ids=8109&filter=!.2mo6GlnpFPFeBKnaz&site=stackapps An ...


5

I don't see any particular reason not to add it, but there are some workarounds you can use in the meantime: Build a cache of all site information with the site URL as the key, and then look up the api_site_parameter value (and associated information) that way. or Use the fact that the domain name can be passed in as the value for site, and clean up ...


5

Since the .getTime() value is already in UTC, you can just divide by 1000, and round. That is: var apiDate = Math.round (new Date().getTime() / 1000); works just fine. apiDate is in "unix epoch time" and the API takes these values even if the API parameter is called a "Date". But, if you want to truncate to the date only, just use: var dateTime = ...


5

This is what custom filters are for. For example, if you append &filter=!BGRhem4Z)WIti9lP55R*tgr(Jq_fHC to your query, above, you will get results without upvote_count, downvote_count, or owner information. (The first two aren't included by default anyway.) An easy way to create a filter is to use the filter-edit tool, on the appropriate doc page for ...


4

the original question was apparently for V1. in V2 we now have https://api.stackexchange.com/docs/required-tags the request: https://api.stackexchange.com/2.0/tags/required?order=desc&sort=popular&site=stackapps will return required tags


4

Thank you! All of the new changes are welcome and I can't wait to start implementing some of them in my apps. I do have one question though: what happened to all of my apps? I had a thumbnail image set for all of them and it doesn't look like any of them are being displayed despite matching the requirements (144x119 in PNG format). Edit: This doesn't ...


4

Whelp, that was an oversight. accept_rate should now be returned on both user and shallow_user. Note that when insufficient data is available to calculate an accept rate, we don't return anything at all. The exact rules for calculating accept rate are subject to change, but currently documented here. The API returned accept rate should always match the ...


4

Filters are created by sending include, exclude, and base to /filters/create. You can use GET for rapid prototyping, or POST when the amount of data you're sending grows too large for a GET. base specifies a filter to use as a template. It is the "default" filter, by default. A blank slate can be achieved by using "none". include and exclude contain ...


4

I don't follow, for date times the most recent date is the largest date. Sample return by events { "event_type": "question_posted", "event_id": 9369546, "creation_date": 1329777738 }, { "event_type": "comment_posted", "event_id": 11832402, "creation_date": 1329777736 } 1329777738 => Mon, 20 Feb 2012 22:42:18 GMT 1329777736 => Mon, 20 Feb 2012 ...


4

To find user_id(s) for a username, use the inname parameter of the /users query. You will have to repeat this query call for every Stack Exchange site that you are interested in. For example: /users?inname=Zagorulkin&site=stackoverflow&filter=!6Xcz2tYayQsZ1 /users?inname=Zagorulkin&site=programmers.stackexchange&filter=!6Xcz2tYayQsZ1 If ...


4

Tricky. This was a consequence of the API misinterpreting a normalized field used elsewhere in the system to indicate whether or not a post has upvoted answers. Everywhere else, "is answered" is true if either of the following are met: The question has an accepted answer The question has an answer with a score > 0 The API wasn't doing the "or" check. ...


4

The API allows you to set a pagesize of 0 to 100 (with the exception of the /sites route, which allows larger values), and defaults to a maximum of 30 items in the response. To get all of the items applicable to the API query, you need to check the has_more field to determine if you need to request subsequent pages via the page parameter. This is covered in ...


3

I'm going to lay some ground work about authentication and access tokens before answering, because I think you have some misconceptions. When a user authenticates an application they have given permission for it to access their data in certain ways (via scope). The actual mechanism* for accessing this data is an access token, but the authorization to get ...


3

Each application/user pair (as signified by an access_token) has a per-day quota of 10k requests (by default). Any number of these can be in flight at once, and they're reported as part of quota_remaining and quota_max. On top of that, is a per-user quota of 50,000. This quota isn't reported anywhere (for privacy reasons, we'd rather not leak a user's ...


3

With the way the API is currently set up (lots of caching the info page says) is it possible to update the information on a question you've already looked at? I have a list of questions but, as time goes on, the information changes (# of answers, votes, etc) and I would like to be able to update the questions with the new info.


3

UPDATE I've made some improvments: You can now monitor meta.stackoverflow and stackapps You can choose on the options page whether you only want to see questions that contain ALL of the tags you specified or to show questions that contain ANY of the tags (like SO's Interesting Tags feature) I've made some stylistic changes to the options page (fonts, CSS, ...


3

Mkay, I've only used the part of the code that relates to StackAuth: You forgot to update the version number for SitesMethod and UsersByIdAssociatedMethod SitesMethod and UsersByIdAssociatedMethod both take $key as a parameter, but seeing as we've already inited the stackPHP object with the key, seems a bit redundant. I changed my SitesMethod function to ...


3

The API now responds with the following headers: HTTP/1.1 200 OK Server: nginx/0.7.65 Date: Fri, 20 Jan 2012 18:53:44 GMT Content-Type: application/json; charset=utf-8 Connection: keep-alive Cache-Control: private Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, POST Access-Control-Allow-Credentials: false Content-Length: 12345 Since we ...


3

It's mentioned under the Safety section of the filters documentation that by default all response data can be safely inserted into HTML, which is why the data is pre-escaped in this case. You can try creating an unsafe filter using the unsafe parameter to use if you wish to avoid this conversion.



Only top voted, non community-wiki answers of a minimum length are eligible