如何从Salesforce访问Twitter

时间:2013-03-04 05:57:54

标签: twitter salesforce

我正在努力完成这项工作,我需要连接到twitter rest Api 1.1以获取用户详细信息,时间线等。

我遇到的是:

  1. 我有一个带有访问令牌的Twitter应用程序,秘密等。
  2. 现在如何使用所有访问令牌等从Salesforce向Twitter发送(GET或POST)请求。如何设置标头或如何验证请求。 一个教程将是非常有用的,我可以找到的是php等教程我需要它为" salesforce"

    注意:我不想使用外部库

1 个答案:

答案 0 :(得分:0)

您应该可以使用HTTP REST library直接从Apex执行此操作。以下是来自first Google result的示例代码"salesforce apex twitter integration"Navatar_DbSup

VF CODE:
<apex:inputTextarea id="tweetInput" onkeyup="return maxLength();" onKeyPress="return maxLength();" value="{!newTweet}" rows="2" cols="73"/>
<apex:commandButton id="tweetBtn" style="height:35px;" value="Tweet" action="{!postTweet}" />
Controller code:
*** post tweets into twitter*/
public String newTweet{get;set;}
public Void postTweet()
{
Http h = new Http();
HttpRequest req = new HttpRequest();
Method = 'POST';
req.setMethod(Method);
req.setEndpoint('https://api.twitter.com/1/statuses/update.xml');
newTweet = newTweet.replace('%','%25').replace('&','%26').replace('@','%40').replace(';','%3B').replace('?','%3F').replace('/','%2F').replace(':','%3A').replace('#','%23').replace('=','%3D').replace('+','%2B').replace('$','%24').replace(',','%2C').replace(' ','%20').replace('<','%3C').replace('>','%3E').replace('{','%7B').replace('}','%7D').replace('[','%5B').replace(']','%5D').replace('`','%60').replace('|','%7C').replace('\\','%5C').replace('^','%5E').replace('"','%22').replace('\'','%27').replace('!','%21').replace('*','%2A').replace('(','%28').replace(')','%29').replace('~','%7F');
req.setBody('status='+newTweet);
req.setHeader('Content-Type','application/x-www-form-urlencoded');

OAuth oa = new OAuth();
if(!oa.setService())
{
message=oa.message;
}
oa.sign(req);
HttpResponse res = h.send(req);
system.debug('&&&&&&&&&&&&&&&&7' + res.getBody());
PostTweetbody = res.getBody() + '___' + message;
newTweet = '';
}