2012-03-07 50 views
0

我正在嘗試使用Flex(使用Flex 3.5 SDK和Flex Builder 4)發佈「推特」給我的Twitter。在一個mxml文件中,我創建了一個按鈕,只是爲了方便調用AS3函數,並且在函數中,我正在發出一個URL請求。很明顯,我做錯了什麼,因爲我的推文沒有發佈。我在Twitter自己提供的curl請求中獲得了這些變量,這些請求實際上都有效。我的猜測是我正在格式化一些不正確的東西,但我不知道那是什麼....非常感謝您提供的任何幫助。這裏是我使用的代碼: 編輯:我想澄清一點,我已經有適當的授權密鑰等(如我做了一個ColdFusion腳本來處理)。我不需要授權幫助,只需發佈​​即可。使用Flash/Flex發佈到twitter

var postTO:URLRequest=new URLRequest("https://api.twitter.com/1/statuses/update.json"); 
var params:URLVariables = new URLVariables(
"include_entities=true&status=Maybe+he%27ll+finally+fiasdfasdfmnnd+his+kekjhjkys.+%23peterfalk&trim_user=true"+"&"+ 
    "status=Maybe+he%27ll+finally+fiasdfasdfmnnd+his+kekjhjkys.+%23peterfalk"+"&"+ 
    "trim_user=true"+"&"+ 
    "oauth_consumer_key=<myOauthConsumerKey>"+"&"+ 
    "oauth_nonce=<myOauthNonce>"+"&"+ 
    "oauth_signature=<myOauthSignature>"+"&"+ 
    "oauth_signature_method=HMAC-SHA1"+"&"+ 
    "oauth_timestamp=1331137102"+"&"+ 
    "oauth_token=<myOAuthToken>"+"&"+ 
    "oauth_version=1.0"); 
var loader:URLLoader = new URLLoader(); 

postTO.data=params; 
postTO.method=URLRequestMethod.POST; 
try { 
    loader.load(postTO); 
} catch (error:Error) { 
    trace("Unable to load requested document."); 
} 

回答

1

審查crossdomain.xml文件域的訪問:

<cross-domain-policy xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd"> 
<allow-access-from domain="twitter.com"/> 
<allow-access-from domain="api.twitter.com"/> 
<allow-access-from domain="search.twitter.com"/> 
<allow-access-from domain="static.twitter.com"/> 
<site-control permitted-cross-domain-policies="master-only"/> 
<allow-http-request-headers-from domain="*.twitter.com" headers="*" secure="true"/> 
</cross-domain-policy> 

除非你正在爲Twitter和/或有機會提供給您的SWF關閉任何允許域;您將無法構建直接從Flash訪問這些URL的基於瀏覽器的應用程序您必須使用您選擇的服務器端語言構建代理。

+0

我其實已經有了一個像這樣的設置文件。即使使用Coldfusion,我似乎也無法獲取它,這讓我覺得我必須有某種格式不正確。 – Tombert 2012-03-07 17:40:26

+0

這是可能的。請記住,crossdomain.xml文件必須位於Flash訪問的服務器上;而不是使用SWF的服務器。你必須讓Twitter來改變他們的crossdomain.xml文件。但是,如果ColdFusion無法訪問URL,那麼問題可能不是跨域安全;但那將是一個完全不同的問題。 – JeffryHouser 2012-03-07 18:23:52