2016-02-05 82 views
0

我有一個有效的consumer_keyconsumer_secret用於我的應用程序訪問某個網站上的資源。具有有效「CONSUMER_KEY」和「CONSUMER_SECRET」的Android OAuth

我創建了消費者這樣的:

private void createConsumer(){ 
    mConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); 
} 

我創建提供這樣的:

private void createProvider(){ 
    mProvider = new CommonsHttpOAuthProvider(REQUEST_TOKEN_URL, ACCESS_TOKEN_URL, 
        AUTHORIZE_URL); 
} 

我然後使用AsyncTask檢索什麼,我認爲是從服務器的有效AccessToken

mAccessTokenUrl = mProvider.retrieveRequestToeken(mConsumer, CALL_BACK_URL); 

這個電話,我得到一些與此類似: ``http://www.mygarden.org/oauth/authorize?/oauth_token=XXXXXXXXXXXXXXhs343sjd&oauth_callback=http%3A%2F%2Flocalhost

我假設令牌是正確的,因爲如果我測試這與不正確的憑據我沒有得到任何回報。

問題1:

這是callback url corrent,因爲網站上沒有指定回調網址,只需將應用程序的網站;我應該如何使用它的android應用程序?

問題2:

我現在該如何使用Access Token在網站上消耗一定的服務,例如讓所有的植物我應該使用此鏈接:http://api.mygarden.org/activities/all應在xml/jsonformat

返回某些數據

除非另有說明,否則額外的信息是對API的所有調用都應使用http GET方法。我不希望用戶首先在網站上註冊,我只想使用他們提供的使用我的應用的訪問憑據提供的服務。如果用戶憑證是必需的,我可以將它們嵌入到URL中並自動授予用戶訪問權限嗎? 網站是:http://www.mygarden.org

感謝您的幫助。

回答

0

要獲取所有工廠的列表,您不需要對用戶進行身份驗證。這只是用戶相關操作所必需的,例如發佈狀態更新或將植物添加到花園。

所以你只需要發送到OAuth/request_token一個呼叫,然後OAuth的/的access_token,在那之後你就可以從API獲取一些數據

回答問題1: 如果開發Android應用程序你不需要回調url,當你想通過網站驗證用戶時,這是需要的。請確保您在應用程序設置上mygarden.org

回答問題2選擇客戶: 要得到你需要的植物/所有的所有植物。如果您使用的是標準oauth庫,則所有必需的oauth參數會自動添加到您的查詢中

我是mygarden.org的開發人員,您可以隨時聯繫我們的支持;)