我正在集成 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
时,它告诉我参数应该是:
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
。我做错了什么还是他们的错误信息完全错误/无益?
最佳答案
好的,无论 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>
关于app-store-connect - Apple Reporter Sales.getReport 为方法指定的参数太少或太多,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41944424/