2011-07-14 12 views
1

Flickr APIで - http://www.flickr.com/services/api/ 写真をアップロードしようとすると、エラー96:無効な署名が表示されます。Javaでflickrに写真をアップロードするときに署名が無効です

これは私のコードです:

String sig = secret + "api_key" + key + "auth_token" + token; 
    String signature = FlickrRequestFrob.MD5(sig); 

    String request = "http://api.flickr.com/services/upload/"; 

    HttpClient client = new HttpClient(); 
    PostMethod postMethod = new PostMethod(request); 
    //System.out.println("Api Sig" + signature); 
    postMethod.addParameter("api_key",key); 
    postMethod.addParameter("api_sig", signature); 
    postMethod.addParameter("auth_token", token); 
    postMethod.addParameter("is_public", "1"); 
    postMethod.addParameter("photo", "C:/DSC_0281.JPG"); 
    postMethod.addParameter("title", "Scary!"); 

    int status = client.executeMethod(postMethod); 
    System.out.println("Status: " + status); 

    InputStream responseStream = postMethod.getResponseBodyAsStream(); 

応答は次のとおりです。

ステータス:200 応答:

<?xml version="1.0" encoding="utf-8" standalone="no"?><rsp stat="fail"> 
    <err code="96" msg="Invalid signature"/> 
</rsp> 

私はなぜ、誰かが私をここに何の手掛かりを助けることはできませんか?

答えて

0

md5署名は、キーとトークンだけでなく、すべての引数リストに対して実行する必要があります。

したがって、要約:完全なSORTED引数リスト( '='文字なし)を作成し、これに対してmd5ハッシュを実行します。これはうまくいくはずです。

詳細については、http://www.flickr.com/services/api/auth.spec.html(8)を参照してください。

関連する問題