
Google+ is still very young - it is only a month old, it is growing, gaining popularity, and it is mysterious as a square watermelon. In the sense that it is still completely incomprehensible how it can be used by the developer.
')
At the moment it is only known that the API will be made public on the next Google I / O, i.e. will have to wait almost another year. It is clear that right now, with such a “freshness” of the service, it is impossible to give any stable API - now you can get your stream only through
Google Takeout . There is no “official” way to pick up stream programmatically.
But, as you know, nothing is impossible for geeks who are in love with a new service, and the people with a shovel in their hands have already dug up enough “unofficial” to get streaming. For example,
PlusFeed Russel'a Beattie allows you to pick up the user's stream in RSS format, but if you are a control freak, then such a decision is not for you. Therefore, we will take stream by ourselves.
And it’s quite possible to do it yourself - it is available at:
https://plus.google.com/_/stream/getactivities/XXX/?sp=[1,2, uniformXXX,,null,null,null,null, "Social.google.com", []] ,
where XXX is your plus-id (the one that is visible in the url line on the
plus.google.com/me page or on the page of any other user).
The data that the plus returns at this address need only be slightly processed — remove the prefix added so that the pioneers do not drag out Json and remove the traces of optimization.
The result is something like this:

From the academic point of view, the code that produces this is of no interest - this is a banal LINQ request wrapped in an ASP.NET MVC application, the result of which is drawn using the jQuery templates.
The most difficult thing here is to figure out who the original Json is who - it is a jumble of arrays, and there are no field names for you!
For example, in order to pull out the geo location data, you have to do something like this:
GeoData = post[27].HasValues ? new { Name = post[27].Values().ElementAt(2).Value<string>(), Address = post[27].Values().ElementAt(3).Value<string>(), MapsUrl = post[27].Values().ElementAt(9) == null ? null : post[27].Values().ElementAt(9).Value<string>(), PlaceUrl = post[27].Values().ElementAt(10) == null ? null : post[27].Values().ElementAt(10).Value<string>(), MapImage = post[27].Values().ElementAt(11) == null ? null : post[27].Values().ElementAt(11).Value<string>() } : null, ...
For clarity, the import of Google stream is implemented using the
Hammock REST library (and it can really come in handy if you then suddenly have to use OAuth) and
Json.NET - the original Json is parsed using it and LINQ to JSON selects the one that we really need from Well, a very extensive source. In addition,
jQuery Templates and
Datejs are used to draw stream.
Examples of how it looks can be seen here and here (until the habr effect hits them). At this stage of implementation, links to websites, previews of media resources, quotes of other people's records and geo-location / Google Places check-in's are displayed correctly.
I hope this workpiece is useful for many - it is easy to rewrite it under your favorite language / toolkit and bring it to mind / aesthetic maturity.
Sources: narod.ru/disk/21224545001/gstream.rar.html