如何从Salesforce访问twitter

如何从Salesforce访问twitter,twitter,salesforce,Twitter,Salesforce,我正在努力做到这一点,我需要连接到twitter rest Api 1.1以获取用户详细信息、时间线等 我遇到的是: 我有一个带有访问令牌、秘密等的Twitter应用程序 现在,如何使用所有访问令牌等从Salesforce向Twitter发送(获取或发布)请求。如何设置标头或如何验证请求。 一个教程会很有帮助,我所能找到的全部是php教程等,我需要它来“salesforce” 注意:我不想使用外部库,您应该可以使用。以下是使用以下示例代码的示例: VF代码: 控制器代码: ***在twitter

我正在努力做到这一点,我需要连接到twitter rest Api 1.1以获取用户详细信息、时间线等

我遇到的是:

  • 我有一个带有访问令牌、秘密等的Twitter应用程序
  • 现在,如何使用所有访问令牌等从Salesforce向Twitter发送(获取或发布)请求。如何设置标头或如何验证请求。 一个教程会很有帮助,我所能找到的全部是php教程等,我需要它来“salesforce”


    注意:我不想使用外部库,您应该可以使用。以下是使用以下示例代码的示例:

    VF代码:
    控制器代码:
    ***在twitter上发布推文*/
    公共字符串newTweet{get;set;}
    public Void postweet()
    {
    Http h=新的Http();
    HttpRequest req=新的HttpRequest();
    方法='POST';
    要求设置方法(方法);
    请求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('.'35','%23')。replace('=','%3D')。replace('+','%2B')。replace('$,'%24')。replace(','%2F')。replace(','%3B')。replace')。replace(','%7B')。replace')。replace(','%7B')。replace')。replace(','%7D')。'(']','%5D')。替换(''''','%60')。替换(''.','%7C')。替换('\\','%5C')。替换('^','%5E')。替换('''''','%22')。替换(''''''''''%27')。替换('!','%21')。替换('*','%2A')。替换('('','%28')。替换(''),'%29')。替换('''''''''.''','%7F');
    请求设置实体(“状态=”+newTweet);
    请求setHeader('Content-Type','application/x-www-form-urlencoded');
    OAuth oa=新的OAuth();
    如果(!oa.setService())
    {
    message=oa.message;
    }
    oa.签名(req);
    HttpResponse res=h.send(请求);
    调试('&&&&&&&&&&&&&&&7'+res.getBody());
    PostTweetbody=res.getBody()+'\\'+消息;
    newTweet='';
    }
    
    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 = '';
    }