Google Apps Script for accessing Chatter APIs : function retrieveChatterFeed() { // Consumer key and consumer secret must be obtained from http://developer.force.com/. // Instruction at http://wiki.developerforce.com/page/Chatter_API var consumerKey = ""; // Add consumer key here var consumerSecret = ""; // Add consumer secret here // Begin boilerplate. Based on OAuth setup by Shinichi Tomita var oauth = UrlFetchApp.addOAuthService("chatter"); oauth.setAccessTokenUrl("https://login.salesforce.com/_nc_external/system/security/oauth/AccessTokenHandler"); oauth.setRequestTokenUrl("https://login.salesforce.com/_nc_external/system/security/oauth/RequestTokenHandler"); oauth.setAuthorizationUrl("https://login.salesforce.com/setup/secur/RemoteAccessAuthorizationPage.apexp?oauth_consumer_key="+encodeURIComponent(consumerKey)); oauth.setConsumerKey(consumerKey); oauth.setConsumerSecret(consumerSecret); var loginUrl = "https://login.salesforce.com/services/OAuth/u/23.0"; var options = { method : "POST", oAuthServiceName : "chatter", oAuthUseToken : "always" }; var result = UrlFetchApp.fetch(loginUrl, options); var sfResponse = Xml.parse(result.getContentText(), true).getElement(); var sessionId = sfResponse.getElement("sessionId").getText(); var serverUrl = sfResponse.getElement("serverUrl").getText(); var instanceUrl = serverUrl.match(/^https?:\/\/[^\/]+/)[0]; // End boilerplate // Begin sample of Chatter Rest API var feedUrl = instanceUrl + "/services/data/v23.0/chatter/feeds/news/me/feed-items"; // Chatter API URL var response = UrlFetchApp.fetch(feedUrl, { method : "GET", headers : { "Authorization" : "OAuth "+sessionId } }); var feed = JSON.parse(response.getContentText()); var sheet = SpreadsheetApp.getActiveSheet(); sheet.clear(); var temp = feed.items.length; for (var i=0; i<feed.items.length; i++){ var chatterText = feed.items[i].body.text; var chatterActor = feed.items[i].actor.name; sheet.appendRow([chatterText, chatterActor]); } // End sample of Chatter Rest API } |