API: Get single feed item - ninetwozero/BF3-Battlelog GitHub Wiki
http://battlelog.battlefield.com/bf3/feed/show/{POST_ID}/ (Constants.URL_FEED_SINGLE)
X-Requested-With => XMLHttpRequest
For some weird (and awkward reason), this vital response is sent in pre-formatted HTML, meaning that there's a hella lot of scraping to be done if one is to use the response from this. Luckily feed items can be downloaded a few at once, and used one by one if needed - however showing what a notification is pointing to will probably need to parse the html response.
The response is one of many variations that you'll encounter - the structure itself varies depending on what it's displaying.
<input type="hidden" id="base-ajaxindex-pagetitle" value="Battle feed entry -Battlelog / Battlefield 3" />
<input type="hidden" id="base-ajaxindex-bodyclass" value="" />
<div id="main-login-upper" class="base-upper"></div>
<div id="feed-item-likes-popup"></div>
<div id="main-middle">
<div class="base-middle-content">
<div id="feed-container" class="feed-show-item">
<h1 class="base-big-title wfont">Battle feed entry</h1>
<div class="base-clear"></div>
<div class="common-box-narrow common-box-title-clean feed-show-item">
<div class="common-box-container">
<div class="common-box-inner-border">
<div class="common-box-inner ">
<div id="feed-single-event-container">
<div>
<ul>
<li id="feed-item-2832659844906278420" class="feed-single-item feed-no-border">
<div class="feed-item-interaction-area">
<div class="feed-story-delete" storyUrl="/bf3/feed/delete/"></div>
<div class="feed-story-ids">
<input type="hidden" value="2832659844906278420" class="feed-eventIds" name="feed-eventIds[]" />
</div>
</div>
<div class="feed-story">
<div class="feed-avatar-container">
<div rel="2832658801548551060" class="base-avatar-container base-avatar-size-medium">
<a href="/bf3/user/ninetwozero/" class="base-avatar-status-overlay base-avatar-status-overlay-online">
<img src="http://www.gravatar.com/avatar/1241459af7d1ba348ec8b258240ea145?s=30&d=http%3A%2F%2Fbattlelog-cdn.battlefield.com%2Fpublic%2Fbase%2Fshared%2Fdefault-avatar-30.png%3Fv%3D7909" width="30" height="30" />
</a>
</div>
</div>
<div class="feed-story-content">
<div class="feed-story-heading">
<a class="base-profile-link" href="/bf3/user/ninetwozero/">ninetwozero</a>
<div class="wallpost-body">One, two, three and to the four.</div>
</div>
<div class="feed-story-body ">
</div>
<div class="feed-story-infoarea">
<div class="feed-story-area feed-story-small-icon">
<img width="18" height="18" src="http://battlelog-cdn.battlefield.com/public/feed/icon_forumpost.png?v=1930" />
</div>
<div class="feed-story-area feed-story-creationDate"><a href="/bf3/feed/show/2832659844906278420/">
<span data-timestamp="1333879609" class="base-ago">55 minutes ago</span></a></div>
<div class="feed-story-infoarea-separator">•</div>
<div class="feed-story-area feed-story-area-comment-and-like">
<a class="base-no-ajax feed-comment-item" href="/bf3/feed/show/">Comment</a>
</div>
<div class="feed-story-infoarea-separator">•</div>
<div class="feed-story-area feed-story-area-comment-and-like">
<form class="feed-submitbutton feed-like-item" method="post" action="/bf3/like/postlike/2832659844906278420/feed-item-like/">
<input type="hidden" name="post-check-sum" value="881228534d" />
<a>Hooah!</a>
</form>
<form class="feed-submitbutton feed-unlike-item" style="display:none;" method="post" action="/bf3/like/postunlike/2832659844906278420/feed-item-like/">
<input type="hidden" name="post-check-sum" value="881228534d" />
<span>Hooah! <a title="Remove this hooah">Remove hooah</a></span>
</form>
</div>
</div>
</div>
</div>
<div style="clear: both;"></div>
<div class="feed-item-likescontainer">
<surf:container id="feed-like-surface-2832659844906278420">
<div class="feed-item-likes" id="feed-item-likes-2832659844906278420" style="display: none;">
</div>
</surf:container>
</div>
<div style="clear: both;"></div>
<div class="feed-story-comments feed-show ">
<div class="feed-comments-item-container" id="feed-comments-item-container-2832659844906278420">
<surf:container id="comments-for-2832659844906278420">
<surf:container id="comments-for-2832659844906278420_2832659844907241748">
<div class="feed-comments-item">
<div class="feed-story-comment-delete" commentId="2832659844907241748" commentUrl="/bf3/feed/deleteComment/"></div>
<div class="feed-story-report-container">
<div rel="/bf3/feed/reportPostDropdown/2832659844906278420/2832659844907241748/comment/" class="common-reportbutton-container">
<div class="common-reportbutton"></div>
<div class="common-reportbutton-dropdown"><img class="ajax-loader" src="http://battlelog-cdn.battlefield.com/public/base/shared/ajax-loader.gif?v=1930" /></div>
</div>
</div>
<div class="feed-story-body">
<div class="feed-avatar-container">
<div rel="2832665149492055179" class="base-avatar-container base-avatar-size-medium">
<a href="/bf3/user/CTSO_Craigcon/" class="base-avatar-status-overlay base-avatar-status-overlay-offline">
<img src="http://www.gravatar.com/avatar/c45ffa3f48d8fc6c6127c59cb1d02022?s=30&d=http%3A%2F%2Fbattlelog-cdn.battlefield.com%2Fpublic%2Fbase%2Fshared%2Fdefault-avatar-30.png%3Fv%3D7909" width="30" height="30" />
</a>
</div>
</div>
</div>
<div class="feed-story-body feed-comment-body">
<a class="base-profile-link" href="/bf3/user/CTSO_Craigcon/">CTSO_Craigcon</a>
Five, six, seven to the eight
<div class="feed-story-creationDate">
<span data-timestamp="1333881907" class="base-ago">16 minutes ago</span></div>
</div>
</div>
</surf:container>
</surf:container>
</div>
<div style="clear: both;"></div>
<form method="post" class="feed-comment-form" style="" action="/bf3/comment/postcomment/2832659844906278420/feed-item-comment/" itemId="2832659844906278420">
<input type="hidden" name="post-check-sum" value="881228534d" />
<div>
<textarea class="feed-comment-text-not-clicked feed-textlimit-count" name="comment">Write a comment...</textarea>
<div class="feed-textlimit-counter"></div>
</div>
<div class="feed-comment-submit-button-area">
<input class="base-button-arrow-tiny feed-comment-button" type="submit" name="feedCommentSubmitBtn" value="Post" />
</div>
</form>
<div style="clear:both;"></div>
</div>
<div style="clear: both;"></div>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="common-boxnarrow-shadow"></div>
<div class="common-box-bottom-border"> </div>
</div>
</div> </div>
</div>
</div>
<script type="text/javascript">
Surface.setTimeZoneData('UTC');
Surface.urlContext = {"_section":"bf3"};
Surface.globalContext = {"isAjaxNavigation":true,"isAjaxFetch":false,"isSecure":false,"realm":{"lang":1,"game":2,"section":2},"userContext":{"platoons":[{"platform":2,"game":2,"tag":"NTZ","name":"BF3 Battlelog (app)","fanCounter":11,"hidden":false,"memberCounter":1,"id":"2832655241211471675","badgePath":""},{"platform":2,"game":2,"tag":"twgg","name":"qerykjjd","fanCounter":0,"hidden":false,"memberCounter":1,"id":"2832655391570675652","badgePath":"652/2832655391570675652.jpeg?v=1332332947.37"},{"platform":2,"game":2,"tag":"NTZ","name":"Chili-powered Zebras","fanCounter":7,"hidden":false,"memberCounter":6,"id":"2832655391407060607","badgePath":"607/2832655391407060607.jpeg?v=1320975789.73"}],"invitedPlatoons":[{"platform":2,"game":2,"tag":"F41L","name":"[3P1C-F41L]","fanCounter":37,"hidden":false,"memberCounter":63,"id":"2832655240983469471","badgePath":"471/2832655240983469471.jpeg?v=1323292261.84"}],"voice":{"channel":{"users":[]}},"activePlatoon":{"platform":2,"game":2,"tag":"NTZ","name":"BF3 Battlelog (app)","fanCounter":11,"hidden":false,"memberCounter":1,"id":"2832655241211471675","badgePath":""},"isInParty":0},"staticContext":{"googleAnalytics":"UA-15035737-4","useLaunchTimer":false,"useEmbedlyKey":"6b988f884e8011e1ab1c4040d3dc5c07","userecho":false,"langchoice":true,"serverBrowserMaxSize":600,"platforms":{"real":{},"imag":{},"denominator":{},"numerator":{},"XBOX":8,"PC":1,"XBOX360":2,"PS2":16,"PS3":4},"pluginVersion":"1.118.0","sslAvailable":true,"gateDLCBodyClass":false,"staticPostfix":"?v=7909","preferredLang":null,"currentHost":"http://battlelog.battlefield.com","staticPrefix":"http://battlelog-cdn.battlefield.com","getsatisfaction":true,"pluginDownloadUrl":"/public/download/battlelog-web-plugins-1.118.0-retail-prod.exe","languages":[{"lang":"en","value":1},{"lang":"de","value":2},{"lang":"fr","value":4},{"lang":"es","value":8},{"lang":"it","value":16},{"lang":"pl","value":32},{"lang":"ru","value":64},{"lang":"jp","value":128},{"lang":"kr","value":256},{"lang":"zh","value":512},{"lang":"cz","value":1024}],"useSonar":true,"ssoToOrigin":true,"sections":{"real":{},"BFBC":128,"ALL":536870912,"BF1943":8,"urlStrings":["bf3","all","api"],"BFMC":512,"imag":{},"denominator":{},"numerator":{},"BFP4F":1024,"BF3":2,"BF2":32,"BFHEROES":256,"BF2142":64,"BFBC2":1,"GENERAL":1073741824,"BFVIETNAM":16,"BF1942":4},"cdnBaseDir":"battlelog/prod/","gameExpansions":{"real":{},"BFBCPS3DEMO":128,"BF3B2K":512,"numerator":{},"BF2AF":8,"BF2142NS":4,"VANILLA":0,"denominator":{},"BF2SF":32,"BF1942RTR":1,"BF1942SW":2,"BFBC2NAM":256,"BFBC360DEMO":64,"BF2EF":16,"imag":{}},"buildVersion":"release1.2-193","checkPlugin":false,"nucleusNamespaces":{"BATTLEFIELD":"battlefield","CEM_EA_ID":"cem_ea_id","XBOX":"xbox","PS3":"ps3"},"isTouchDevice":false,"allowRunGame":false,"backdropUrl":false,"idleTimeout":600,"gameType":{"real":{},"COOP":4,"imag":{},"SP":2,"numerator":{},"denominator":{},"MP":1,"NOT_PLAYING":0},"mohwActive":false,"enableSocialShare":true,"checkGameInstalled":false,"currentHostSecure":"https://battlelog.battlefield.com","games":{"real":{},"BFBC":128,"BF1943":8,"BFMC":512,"imag":{},"denominator":{},"numerator":{},"BFP4F":1024,"BF3":2,"BF2":32,"BFHEROES":256,"BF2142":64,"BFBC2":1,"BFVIETNAM":16,"BF1942":4},"warsawActive":false,"bfbc2":false,"detectedBrowser":{"isWindows":false,"isTouchDevice":false,"isWin64":false,"isWinXP":false,"isOriginIGO":false},"voice":{"xmlInitUrl":"http://battlelog.battlefield.com/sonar/xml/","version":"0.70.4","server":{"ip":"127.0.0.1","port":22990}},"serverBrowserPageSize":60,"sslStrategy":"login"},"actionName":"show","pushConnections":[{"sslAddress":"10.99.139.119:6054","apiKey":"planet","nodeNumber":6,"channelsWithAuth":["1333926109;459a7ea916d233ffb1b14abfd809050639507b11@2832658801548551060","1333926109;5f1a82338c6a7a43200cce48942bee2102c3cc68#feed_item_2832659844906278420"],"sslEnabled":false,"sslWsAddress":"10.99.139.119:6054","channels":["@2832658801548551060","#feed_item_2832659844906278420"],"token":"1333926109;f7c135fb0641d497e872961daeec73731a2039c9","user":"2832658801548551060","address":"beaconpush-12.battlelog.battlefield.com","wsAddress":"beaconpush-12.battlelog.battlefield.com","log":false}],"componentName":"feed","writeBanUntil":0,"currentUrl":"|bf3|feed|show|2832659844906278420|","activeMenu":"","hasWriteBan":false,"pushFlashUrl":"http://battlelog-cdn.battlefield.com/public/beaconpush/web-socket.swf?v=19","session":{"userGameExpansions":{"512":[2]},"locale":{"shortdate":"%d/%m","fulldate":"%Y-%m-%d","offset":0,"time":"%H:%M"},"currentPersonaGame":2,"introSectionBits":15,"userId":"2832658801548551060","currentPersona":{"picture":"","personaId":"177958806","games":2,"user":{"username":"ninetwozero","gravatarMd5":"1241459af7d1ba348ec8b258240ea145","userId":"2832658801548551060","createdAt":1319665326,"presence":{"isOnline":true,"isOnlineOrbit":true,"isPlaying":false,"userId":"2832658801548551060"}},"personaName":"NINETWOZERO","updatedAt":1321710992,"namespace":"xbox","clanTag":"","userId":"2832658801548551060"},"user":{"username":"ninetwozero","gravatarMd5":"1241459af7d1ba348ec8b258240ea145","userId":"2832658801548551060","createdAt":1319665326,"presence":{"isOnline":true,"isOnlineOrbit":true,"isPlaying":false,"userId":"2832658801548551060"}},"isLoggedIn":true,"rollouts":["SERVERBANNER_UPLOAD","ESPORT_MATCHES","SERVERBANNER_UPLOAD_PS3","SERVERBANNER_UPLOAD_XBOX"],"currentSection":2,"postChecksum":"881228534d","userGames":{"2":[2]}},"useExperimentalPush":true,"pushPorts":[80,"secure-443"],"mutedSounds":0,"pushServers":["beaconpush-4.battlelog.battlefield.com","beaconpush-14.battlelog.battlefield.com","beaconpush-1.battlelog.battlefield.com","beaconpush-13.battlelog.battlefield.com","beaconpush-3.battlelog.battlefield.com","beaconpush-11.battlelog.battlefield.com","beaconpush-12.battlelog.battlefield.com","beaconpush-2.battlelog.battlefield.com"],"pushJavascriptUrl":"http://s3-eu-west-1.amazonaws.com/battlelog-assets/client-3.js","systemUtcTime":1333882909};
Surface.urlactionMap = {};
Surface.Renderer.state.usedTemplates = ['feed.show', 'profile.avatarlink', 'feed.likeitems', 'base.ajaxindex', 'base.index', 'common.reportbutton', 'profile.gravatar', 'common.boxnarrowclean', 'base.ago', 'feed.empty', 'feed.avatarimage', 'feed.commentitems', 'feed.statusmessage', 'base.postChecksum', 'feed.story', 'surfaceframework.index'];
Surface.Renderer.state.usedComponents = ['feed', 'profile', 'base', 'common', 'surfaceframework'];
Surface.domReady(Surface.Renderer.invokeUsedComponents);
typeof(block_feed_likeitems) != 'undefined' ? feed.likeitems.surface_2_2.render({"usercount":null,"item":{"id":"2832659844906278420","likeUserIds":[]},"excess":null,"users":{"2832658801548551060":null},"totalcount":null}, block_feed_likeitems) : Surface.logMissingBlockConfig('block_feed_likeitems', 'feed-like-surface-2832659844906278420');
typeof(block_feed_commentitems) != 'undefined' ? feed.commentitems.surface_7_2.render({"itemId":"2832659844906278420","session":{"userGameExpansions":{"512":[2]},"locale":{"shortdate":"%d/%m","fulldate":"%Y-%m-%d","offset":0,"time":"%H:%M"},"currentPersonaGame":2,"introSectionBits":15,"userId":"2832658801548551060","currentPersona":{"picture":"","personaId":"177958806","games":2,"user":{"username":"ninetwozero","gravatarMd5":"1241459af7d1ba348ec8b258240ea145","userId":"2832658801548551060","createdAt":1319665326,"presence":{"isOnline":true,"isOnlineOrbit":true,"isPlaying":false,"userId":"2832658801548551060"}},"personaName":"NINETWOZERO","updatedAt":1321710992,"namespace":"xbox","clanTag":"","userId":"2832658801548551060"},"user":{"username":"ninetwozero","gravatarMd5":"1241459af7d1ba348ec8b258240ea145","userId":"2832658801548551060","createdAt":1319665326,"presence":{"isOnline":true,"isOnlineOrbit":true,"isPlaying":false,"userId":"2832658801548551060"}},"isLoggedIn":true,"rollouts":["SERVERBANNER_UPLOAD","ESPORT_MATCHES","SERVERBANNER_UPLOAD_PS3","SERVERBANNER_UPLOAD_XBOX"],"currentSection":2,"postChecksum":"881228534d","userGames":{"2":[2]}},"itemOwnerId":"2832658801548551060","comments":[{"itemId":"None","body":"Five, six, seven to the eight","owner":{"username":"CTSO_Craigcon","gravatarMd5":"c45ffa3f48d8fc6c6127c59cb1d02022","userId":"2832665149492055179","createdAt":1320056157,"presence":{"isOnline":false,"isPlaying":false,"userId":"2832665149492055179"}},"ownerId":"2832665149492055179","hidden":false,"creationDate":1333881907,"id":"2832659844907241748"}]}, block_feed_commentitems) : Surface.logMissingBlockConfig('block_feed_commentitems', 'comments-for-2832659844906278420');Surface.Renderer.warnDuplicateSurfaces();
</script>