2014-09-22 16 views
5

Ich zog diesen Code von this question.Tweet mit Google Script

der Lösung des Autors Auftragen, ich diesen Fehler immer gegeben: enter image description here

ich meinen Schlüssel und Geheimnis aus meiner erstellt twitter App bekommen hier:

enter image description here

Ich habe die App schreiben konfiguriert ...

Was mache ich falsch?

//post tweet 
function oAuth() { 
    var CONSUMER_KEY = "xxxx"; 
    var CONSUMER_SECRET = "xxxxx"; 
    ScriptProperties.setProperty("TWITTER_CONSUMER_KEY", CONSUMER_KEY); 
    ScriptProperties.setProperty("TWITTER_CONSUMER_SECRET", CONSUMER_SECRET); 
    var oauthConfig = UrlFetchApp.addOAuthService("twitter"); 
    oauthConfig.setAccessTokenUrl("https://api.twitter.com/oauth/access_token"); 
    oauthConfig.setRequestTokenUrl("https://api.twitter.com/oauth/request_token"); 
    oauthConfig.setAuthorizationUrl("https://api.twitter.com/oauth/authenticate"); 
    oauthConfig.setConsumerKey(ScriptProperties.getProperty("TWITTER_CONSUMER_KEY")); 
    oauthConfig.setConsumerSecret(ScriptProperties.getProperty("TWITTER_CONSUMER_SECRET")); 
    var options = {muteHttpExceptions: true,oAuthServiceName:'twitter',oAuthUseToken:'always'} 
    var url = "https://api.twitter.com/1.1/statuses/user_timeline.json"; 
    var response = UrlFetchApp.fetch(url, options).getContentText(); 
    Logger.log(response); 
} 
function postTweet() { 
    oAuth(); 
    Logger.log('oAuth complete'); 
    var status='Operational!'; 
    var options = { 
    "method": "post", 
    "oAuthServiceName": "twitter", 
    "oAuthUseToken": "always", 
    "payload":{"status":status} 
    }; 
    var url = "https://api.twitter.com/1.1/statuses/update.json"; 
    Logger.log('begin post'); 
    var request = UrlFetchApp.fetch(url, options); 
    Logger.log('post complete'); 
} 

Antwort

3

Ich war immer diesen Fehler auch, bis ich Ihnen eine 'Callback-URL' in Twitter angeben müssen realisiert werden:

Twitter CallBack URL

angeben, dass entweder als 'https://script.google.com' oder 'https://script.google.com/macros' ist Erlauben Sie mir, zu autorisieren. Ich habe das getestet und er lässt mich derzeit mit dem von Ihnen angegebenen Code posten.

Eine Anmerkung jedoch, wenn Sie den gleichen ‚Status‘ Text zweimal versuchen und veröffentlichen, es wird Ihnen die folgenden Fehler werfen:

Duplicate Status Error

Dies ist kein Problem, da man einfach ändern Sie den Wert von die Variable 'Status', aber es warf mich das erste Mal.