2012-12-24 87 views
1

我必須在點擊按鈕後將照片發佈到「tumblr」。我嘗試了以下方式與tumblr連接,但不幸的是我沒有通過..!如何將照片發佈到android的tumblr?

我的回調URL是否正確。我的回撥網址出現問題。

public class TumblrDemoActivity extends Activity { 

private static final String TAG = "TumblrDemo"; 

private static final String REQUEST_TOKEN_URL = "https://www.tumblr.com/oauth/request_token"; 
private static final String ACCESS_TOKEN_URL = "https://www.tumblr.com/oauth/access_token"; 
private static final String AUTH_URL = "https://www.tumblr.com/oauth/authorize"; 

// Taken from Tumblr app registration 
private static final String CONSUMER_KEY = "MY_CONSUMER_KEY"; 
private static final String CONSUMER_SECRET = "MY_SECRET_KEY"; 
private static final String CALLBACK_URL = "tumblrdemo://tumblrdemo.com/ok"; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    // To get the oauth token after the user has granted permissions 
    Uri uri = this.getIntent().getData(); 
    if (uri != null) { 

     String token = uri.getQueryParameter("oauth_token"); 
     String verifier = uri.getQueryParameter("oauth_verifier"); 

     Log.v(TAG, "Token:" + token); 
     Log.v(TAG, "Verifier:" + verifier); 
    } else { 

     CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer(
       CONSUMER_KEY, CONSUMER_SECRET); 

     // It uses this signature by default 
     // consumer.setMessageSigner(new HmacSha1MessageSigner()); 

     CommonsHttpOAuthProvider provider = new CommonsHttpOAuthProvider(
       REQUEST_TOKEN_URL, ACCESS_TOKEN_URL, AUTH_URL); 

     String authUrl; 
     try { 
      authUrl = provider.retrieveRequestToken(consumer, CALLBACK_URL); 
      Log.v(TAG, "Auth url:" + authUrl); 

      startActivity(new Intent("android.intent.action.VIEW", 
        Uri.parse(authUrl))); 

     } catch (OAuthMessageSignerException e) { 
      Log.v(TAG, "Auth url:" + e.getMessage()); 
     } catch (OAuthNotAuthorizedException e) { 
      Log.v(TAG, "Auth url:" + e.getMessage()); 
     } catch (OAuthExpectationFailedException e) { 
      Log.v(TAG, "Auth url:" + e.getMessage()); 
     } catch (OAuthCommunicationException e) { 
      Log.v(TAG, "Auth url:" + e.getMessage()); 
     } 

    } 

} 

/* 
* (non-Javadoc) 
* 
* @see android.app.Activity#onResume() 
*/ 
@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    super.onResume(); 

    Log.v(TAG, "onResume"); 
} 
} 

是否有任何其他Android SDK可用於在tumblr中共享照片。我究竟做錯了什麼..?

+0

請看我的回答,它會解決你的問題。 –

回答

0

試試這個,而不是你的CALLBACK_URL,可能會解決你的問題。

public static final String OAUTH_CALLBACK_URL = "oauthflow-tumblr://callback";