Am getting tempted to play with this a bit, but doing some reviewing/checking first to see what options/calls are available.
Before I get into the request, I'm worried about calling "API:Member:GetProfile" for members who have scads of games - lots of people have 100+ games now; any performance concerns?
New API Request:
API:Member:GetCalendarEntries
Description: This web service returns you information on a gamerDNA member's calendar of game activity, returning information on entries, mood and comments on the entries.
Parameters
* required
* member* - the gamerDNA member name
* date* - the requested calendar date
* apikey* - User’s GamerDNA Apikey
Your API key is available on the first pane of your GamerDNA Panel. You must be logged in.
Example URL
http://helix.gamerdna.com/get_member_calendarentries.php?member=<member name>&date=<mm-dd-yy>&apikey=<api key>
Valid Result
Code:
<api>
<info>
<version>1.0</version>
<name>get.member.calendarentries</name>
<description>Obtains gamerdna calendar information</description>
</info>
<calendar>
<date>3-22-09</date>
<entries>
<count>2</count>
<entry>
<title>Sid Meier's Civilization IV: Beyond the Sword</title>
<gameID>3333</gameID>
<gameplatform>pc</gameplatform>
<gameurl>http://www.gamerdna.com/game/sid-meier-s-civilization-iv-beyond-the-sword-ibm-pc-compatible</gameurl>
<mood>Interested</mood>
<milestone>Advanced</milestone>
<group></group>
<details>Readying an invasion fleet; we'll see how three transports carrying a mix of tanks, marines and leftover cavalry do.</details>
<verifiedgameplay>XFIRE</verifiedgameplay>
<verifiedgamedetails>39 minutes</verifiedgamedetails>
<comments>
<count>1</count>
<comment>
<name>Xianthe</name>
<userid>8080</userid>
<commentdate>3-22-09 21:59:28</commentdate>
<commenttext>Cavalry? Those're only good in the mid-game, my man, you're doomed!</commenttext>
</comment>
</comments>
</entry>
<entry>
<title>CATAN</title>
<gameID>5555</gameID>
<gameplatform>X360</gameplatform>
<gameurl>http://www.gamerdna.com/game/catan-xbox-360</gameurl>
<mood></mood>
<milestone></milestone>
<group></group>
<details></details>
<verifiedgameplay>XBL</verifiedgameplay>
<verifiedgamedetails>+25 points</verifiedgamedetails>
<comments>
<count>0</count>
</comments>
</entry>
</entries>
</calendar>
</api>
Invalid Result
Code:
<api>
<info>
<version>1.0</version>
<name>get.member.calendarentries</name>
<description>Obtains gamerdna calendar information</description>
</info>
<error>MEMBER NAME or APIKEY MISSING or INVALID DATE</error>
</api>
Some of that might not be necessary - for example, gameplatform, since that might be encapsulated in gameID or even the URL. It would spin off an API around "GetGameInfo", but that's not really important. I struggled a bit with the verified gameplay since I only really have a couple personal examples to work from. This would probably leave it open to other services/options. Also, I'm not sure what the preferred convention is when there's no data.
Probably leave the tags in with no data in between, and let the consumer handle it, but I defer to the supplier.
And of course, the name may not fit with preferred convention - perhaps API:Member:GetCalendarActivities or something...