2016-02-05 76 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的开发人员,您可以随时联系我们的支持;)