【问题标题】:Posting to twitter using Flash/Flex使用 Flash/Flex 在 Twitter 上发帖
【发布时间】:2012-03-08 01:11:33
【问题描述】:

我正在尝试使用 Flex 在我的 Twitter 上发布一条“推文”(如果有任何区别,请使用 Flex 3.5 SDK 和 Flex Builder 4)。在一个 mxml 文件上,我创建了一个按钮,只是为了方便调用 AS3 函数,并且在该函数中,我正在发出一个 URL 请求。显然我做错了什么,因为我的推文没有发布。我在 Twitter 自己提供的 curl 请求中得到了这些变量,这确实有效。我的猜测是我的格式不正确,但我不知道那是什么......非常感谢您提供的任何帮助。这是我正在使用的代码: 编辑:我想澄清一下,我已经拥有适当的授权密钥等(因为我制作了一个 Coldfusion 脚本来处理它)。我不需要授权帮助,只需发布​​即可。

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.");
}

【问题讨论】:

    标签: flash apache-flex twitter


    【解决方案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 的基于浏览器的应用程序。您必须使用您选择的服务器端语言构建代理。

    【讨论】:

    • 我实际上已经有一个类似设置的文件。即使使用 Coldfusion,我似乎也无法发布它,这让我觉得我一定是格式不正确。
    • 这是可能的。请记住,crossdomain.xml 文件必须在 Flash 访问的服务器上;不是使用 SWF 的服务器。您必须让 Twitter 更改他们的 crossdomain.xml 文件。但是,如果 ColdFusion 不能访问这些 URL,那么问题可能不是跨域安全;但那将是一个完全不同的问题。
    猜你喜欢
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 2013-02-14
    • 1970-01-01
    相关资源
    最近更新 更多