Apple Reporter Sales.getReport为方法

时间:2017-01-30 20:01:26

标签: itunesconnect apple-reporter

我正在整合Apple Reporter.jar以下载我的应用销售报告,但它抱怨我的论点太少或太多。

Too few or too many parameters specified for the method. Call ApplicationName.getHelp for a list of valid methods and their parameters.

当我致电Sales.getHelp时,它告诉我params应该是:

Usage: java -jar Reporter.jar p=[properties file] m=["Normal"|"Robot.XML"] a=[account number] Sales.[command] [arguments] 
where commands include: 
     getHelp: Returns this help message. No arguments. 
     getStatus: Returns status of Sales and Trends application. No arguments. 
     getAccounts: Returns list of available accounts. No arguments. 
     getVendors: Returns list of available vendor numbers. No arguments.  
     getReport: Downloads a report. Arguments: Vendor Number, Report Type, Report Subtype, DateType, Date. 

所以,如果我想执行Sales.getReport命令,似乎我需要以下参数:

java -jar Reporter.jar p=[properties file] m=["Normal"|"Robot.XML"] a=[account number] Sales.getReport Vendor_Number Report_Type Report_Subtype DateType Date

这是我使用的命令(带有我通过Reporter获得的真实账号和供应商号码):

java -jar Reporter.jar p=Reporter.properties m="Normal" a="XXXXXX" Sales.getReport YYYYYYY Sales Summary Daily 20170130

据我所知,所有这些都匹配得恰到好处:

1) java -jar Reporter.jar | java -jar Reporter.jar
2) p=[properties file] | p=Reporter.properties 
3) m=["Normal"|"Robot.XML"] | m="Normal" 
4) a=[account number] | a="XXXXXX" 
5) Sales.getReport | Sales.getReport 
6) Vendor_Number | YYYYYYY 
7) Report_Type | Sales 
8) Report_Subtype | Summary 
9) DateType | Daily
10) Date | 20170130

我尝试在最后添加一个额外的asdf以查看它是否需要一个更多的参数,但它给了我相同的消息。然后我尝试删除params,它一直给我同样的错误信息,直到我删除Sales.getReport

我做错了什么或者他们的错误信息是完全错误/无益吗?

1 个答案:

答案 0 :(得分:3)

好的,无论Apple工程师创建的Reporter.jar都需要被解雇。

问题是我需要在命令行参数之间放置COMMAS。在命令行使用历史中绝对没有其他命令行用法。似乎Sales.getReport之后的所有内容都被代码淹没,一起粉碎成一个字符串,然后用逗号分割,然后只检查参数。

因为我甚至尝试将"YYYYYYY Sales Summary Daily 20170130"作为单个字符串发送,以测试我的假设,即它需要一个命令行参数,但这并不起作用。

这是最终为我工作的命令:

java -jar Reporter.jar p=Reporter.properties m="Normal" a="XXXXXX" Sales.getReport YYYYY, Sales, Summary, Daily, 20170129

我不知道那些苹果工程师在设计时会想到什么,但他们应该被解雇。我希望Apple工程师能够成为最好的工程师,但这是业余的,并且不了解所有标准的命令行实践。</rant>