2012-12-24 4 views
1

버튼 클릭으로 "tumblr"에 사진을 게시해야합니다. 나는 tumblr와 연결하는 다음과 같은 방법을 시도했지만, 불행히도 나는 통과하지 못했습니다 ..!사진을 tumblr에 android에 게시 하시겠습니까?

내 콜백 URL이 맞습니까? 콜백 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"); 
} 
} 

tumblr에서 사진을 공유하는 데 사용할 수있는 다른 Android SDK가 있습니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까..?

+0

제발 내 대답을 참조하십시오, 그것은 당신의 문제를 해결할 것입니다. –

답변

0

CALLBACK_URL 대신이 번호를 사용해보세요. 문제가 해결 될 수도 있습니다.

public static final String OAUTH_CALLBACK_URL = "oauthflow-tumblr://callback"; 
관련 문제