2

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

我遇到的是:

  1. 我有一个带有访问令牌、秘密等的 Twitter 应用程序。

现在如何使用所有访问令牌等从 Salesforce 向 Twitter 发送(GET 或 POST)请求。如何设置标头或如何验证请求。一个教程会非常有帮助,我能找到的只是 php 等教程

注意:我不想使用外部库

4

1 回答 1

0

您应该能够使用HTTP REST 库直接从 Apex 执行此操作。这是“salesforce apex twitter 集成”的第一个 Google 结果,其中包含来自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 = '';
}
于 2013-03-09T07:17:35.780 回答