Эй, интересный вопрос.
curl - это команда unix, которую вы запускаете в терминале. Он возвращает необработанную HTML-страницу запрошенного вами URL.
Таким образом, вы не можете просто скопировать команду curl в Actionscript, поскольку Flash / Flex не позволяет выполнять сценарии командной строки (AIR 2.0 делает, но здесь это не актуально).
Цель команды curl - получить токен аутентификации от Google. Таким образом, все, что вам нужно сделать, это установить в вашей переменной GoogleAuth
результат первого HTTP-запроса к Google с параметрами, которые вы предоставляете, что-то вроде этого (псевдокод, не проверял):
var authenticate:URLRequest = new URLRequest("https://www.google.com/accounts/ClientLogin")
var variables:URLVariables = new URLVariables();
variables.Email = "myemail@gmail.com";
variables.Passwd = "mypass";
variables.accountType = "GOOGLE";
variables.source = "MyApplication Name";
variables.service = "analytics";
authenticate.data = variables;
var loader:URLRequest = new URLRequest();
loader.addEventListener(Event.COMPLETE, authenticated);
loader.load(authenticate);
protected function authenticated(event:Event):void
{
var request:URLRequest=new URLRequest("https://www.google.com/analytics/feeds/accounts/default");
request.method = URLRequestMethod.POST;
var GoogleAuth:String = event.data;
request.requestHeaders.push(new URLRequestHeader("Authorization", "GoogleLogin " + GoogleAuth));
request.requestHeaders.push(new URLRequestHeader("GData-Version", "2"));
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, GACompleteHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, GAErrorHandler);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, GAErrorHandler);
loader.load(request);
}
Итак, сначала вы получаете аутентифицированный токен (который затем сохраняете и повторно используете во всех заголовках URLRequest), а затем вы звоните в Google Analytics.
Надеюсь, это поможет,
Lance