0

我正在尝试为请求发送服务器“schooltraq.com/api/”变量。我的代码:

package
{
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.*;

    public class tester extends MovieClip
    {
        private var url:String = "http://schooltraq.com/api/";
        var loader:URLLoader = new URLLoader();
        public function tester()
        {
            getAssignments();
        }
        private function getAssignments()
        {
            var request:URLRequest = new URLRequest(url);
            request.method = URLRequestMethod.POST;
            var vars:URLVariables = new URLVariables();

            vars.type = "get";
            vars.request = "assignmentlist";

            request.data = vars;
            trace(request.data);        

            loader.addEventListener(Event.COMPLETE, on_complete);
        }
        private function on_complete(e:Event):void
        {
            trace(loader.data);
        }
    }
}

当我不断收到“错误:空请求”时。我给网站所有者发了电子邮件,他说我的程序可能会在重定向期间丢弃数据。知道如何解决吗?他们的 api 是http://help.schooltraq.com/kb/schooltraq-api/an-overview-of-the-schooltraq-api。任何帮助将不胜感激。

4

1 回答 1

1

我是 Brandon Wang(Schooltraq 的创始人 + 首席开发人员),感谢您使用我们的 API。

为了解决这个问题,虽然我不能真正提供任何细节,因为我不知道 ActionScript 是如何工作的,但这里有一些事情可以帮助你:

  1. 尝试将请求发送到http://beta.schooltraq.com/api,然后查看请求是否完成。我们正在使用永久重定向将人们从那里指向schooltraq.com/api一个beta.schooltraq。我们建议进行此重定向的原因仅仅是因为 API 端点可能会移动。如果这引起了问题,我们很抱歉:(

  2. 你确定你正在运行一个POST请求吗?有时人们运行GET请求,而 API 并没有为此设置。不过,看起来您确实是在运行POST代码中的请求,所以我不完全确定。

  3. 在上面的代码中,您也没有发送任何 API 密钥,这是GET ASSIGNMENTLIST.

我希望这有帮助。

于 2011-09-23T17:00:37.843 回答