2012-03-15 24 views
0

eBayからユーザートークンを取得する必要があります。eBay FetchTokenは、間違ったSecretIDを返します。

私は開発したアンドロイドアプリに必要なすべてのステップを行っています。つまり、ebayに登録して、アプリケーションID、開発者ID、アプリ証明書を取得しています。

セッションIDを正常に取得でき、eBay認証ページで[同意する]が押された時点でユーザーを認証させることができます。

しかし、ユーザートークンを取得する最後の手順は、エラーコード16117 - SecretID invalidで失敗します。

eBayの開発者ガイドには、有効なSessionIDがある場合、SecretIDは必要ないと記載されています。

誰もが間違っている可能性があることを私に教えてもらえますか?

ありがとうございました。

以下はXML構造のログです(前の手順はすべて正しく行われ、データも正しいことは明らかです)。私はebayに送信し、失敗したXML応答を返します。

03-15 22:40:04.555: INFO/OUT(16905): SESSION ID = pWcBAA**16253a261360a03347979c97fffff5f2 
03-15 22:40:04.560: INFO/OUT(16905): XML REQUEST BODY = <?xml versio="1.0" encoding="utf-8"?> 
03-15 22:40:04.560: INFO/OUT(16905): <FetchTokenRequest xmlns="urn:ebay:apis:eBLBaseComponents"> 
03-15 22:40:04.560: INFO/OUT(16905): <SessionID>pWcBAA**16253a261360a03347979c97fffff5f2</SessionID> 
03-15 22:40:04.560: INFO/OUT(16905): <Version>763</Version> 
03-15 22:40:04.560: INFO/OUT(16905): <WarningLevel>Low</WarningLevel> 
03-15 22:40:04.560: INFO/OUT(16905): </FetchTokenRequest> 


03-15 22:40:05.075: INFO/OUT(16905): <FetchTokenResponse> 
03-15 22:40:05.075: INFO/OUT(16905):  <Timestamp> 
03-15 22:40:05.080: INFO/OUT(16905):   2012-03-15T11:38:34.605Z 
03-15 22:40:05.080: INFO/OUT(16905):  </Timestamp> 
03-15 22:40:05.080: INFO/OUT(16905):  <Ack> 
03-15 22:40:05.080: INFO/OUT(16905):   Failure 
03-15 22:40:05.080: INFO/OUT(16905):  </Ack> 
03-15 22:40:05.080: INFO/OUT(16905):  <Errors> 
03-15 22:40:05.080: INFO/OUT(16905):   <ShortMessage> 
03-15 22:40:05.080: INFO/OUT(16905):    The secret Id is invalid. 
03-15 22:40:05.080: INFO/OUT(16905):   </ShortMessage> 
03-15 22:40:05.080: INFO/OUT(16905):   <LongMessage> 
03-15 22:40:05.080: INFO/OUT(16905):    The secret Id you provided does not match with the one you provided earlier. 
03-15 22:40:05.080: INFO/OUT(16905):   </LongMessage> 
03-15 22:40:05.080: INFO/OUT(16905):   <ErrorCode> 
03-15 22:40:05.080: INFO/OUT(16905):    16117 
03-15 22:40:05.080: INFO/OUT(16905):   </ErrorCode> 
03-15 22:40:05.080: INFO/OUT(16905):   <SeverityCode> 
03-15 22:40:05.080: INFO/OUT(16905):    Error 
03-15 22:40:05.080: INFO/OUT(16905):   </SeverityCode> 
03-15 22:40:05.080: INFO/OUT(16905):   <ErrorClassification> 
03-15 22:40:05.080: INFO/OUT(16905):    RequestError 
03-15 22:40:05.080: INFO/OUT(16905):   </ErrorClassification> 
03-15 22:40:05.080: INFO/OUT(16905):  </Errors> 
03-15 22:40:05.080: INFO/OUT(16905):  <Version> 
03-15 22:40:05.080: INFO/OUT(16905):   765 
03-15 22:40:05.080: INFO/OUT(16905):  </Version> 
03-15 22:40:05.080: INFO/OUT(16905):  <Build> 
03-15 22:40:05.080: INFO/OUT(16905):   E765_INTL_BUNDLED_14580691_R1 
03-15 22:40:05.080: INFO/OUT(16905):  </Build> 
03-15 22:40:05.080: INFO/OUT(16905): </FetchTokenResponse> 

答えて

0

よくわかりました。識別値を指定する場合は、改行などの先頭または末尾に空白がないことを確認してください。言い換えれば、

<SecretId>SOME_ID</SecretID> is correct 

    <SecretID> 
     SOME_ID 
    </SecretID>     is not correct 

これは、同様の問題を持つ他の人に役立つことを願っています。

関連する問題