0

API Manager-Publisher で API を公開するための curl リクエストを実行すると、API が追加されていることが示されますが、そのステータスを変更することはできません.. !!! そのAPIも開くことができません!!!

私の要求:

curl -X POST -b cookies  http://my.api-site.com:9763/publisher/site/blocks/item-add/ajax/add.jag \
 -d "action=addAPI&name=TwitterAPI&context=/twitter&version=1.0.0&tier=Bronze&tier=Gold&transports=http&http_checked=http&transports=https&https_checked=https&description=Twitter&visibility=public API&tags=twitter,api&resourceCount=0&resourceMethod-0=GET,PUT,POST,DELETE,OPTIONS&resourceMethodAuthType-0=Application & Application User,Application & Application User,Application & Application User,Application & Application User,None&uriTemplate-0=/*&resourceMethodThrottlingTier-0=Unlimited, Unlimited, Unlimited, Unlimited, Unlimited&tiersCollection=Bronze,Gold,Silver,Unlimited" \
 -d 'endpoint_config={"production_endpoints":{"url":"http://search.twitter.com","config":null},"endpoint_type":"http"}'

応答:

{"error" : true, "message" : " null"}

誰でも助けてくれますか!!!

4

1 に答える 1

0

パラメータは curl でkey1=value1&key2=value2...format として渡されます。そのため、key1、key2、value1、value2 に , などの特殊文字が含まれている場合は=&urlencode?する必要があります。

あなたの問題はこのパラメータにあります:

resourceMethodAuthType-0=Application & Application User,Application & Application User,Application & Application User,Application & Application User,None

あなたの価値にはたくさんの&個性があります。である必要がありますurlencoded。たとえば、この & は次のように置き換える必要があり%26ます。したがって、文字列は次のようになります。

resourceMethodAuthType-0=Application %26 Application User,Application %26 Application User,Application %26 Application User,Application %26 Application User,None

別のこととして、Windows からコマンドを実行している場合は、単一引用符ではなく常に二重引用符を使用してください。例えば:

-d "endpoint_config={\"production_endpoints\"...}"
于 2014-03-28T13:18:30.380 に答える