Каков пример кода для аутентификации OAuth 1.0a (одна нога) в android? есть библиотека для этого? , Я использую eclipse, и я новичок в android. может ли кто-нибудь прояснить путь для меня?woocommerce rest api Аутентификация OAuth в android
ответ
ответить на мой собственный вопрос:
- скачать Scrib.jar библиотеку и добавить его в папку Lib (вы можете загрузить его с (here)
создать класс с именем «OneLeggedApi10» и скопируйте приведенный ниже код в нем:
import org.scribe.builder.api.DefaultApi10a; import org.scribe.model.Verb; import org.scribe.model.Token; public class OneLeggedApi10 extends DefaultApi10a { @Override public String getAccessTokenEndpoint() { return null; } @Override public String getRequestTokenEndpoint() { return null; } @Override public String getAuthorizationUrl(Token requestToken) { return null; } @Override public Verb getAccessTokenVerb() { return Verb.GET; } @Override public Verb getRequestTokenVerb() { return Verb.GET; } }
теперь вы можете сделать OAuth аутентификацию:
String RESOURCE_URL = "http://yourDomain.com/wc-api/v3/orders"; String SCOPE = "*"; //all permissions Response response; OAuthRequest request; String responsebody = ""; OAuthService service = new ServiceBuilder().provider(OneLeggedApi10.class) .apiKey("your_key") .apiSecret("your_apiSecret") .signatureType(SignatureType.QueryString) .debug() /*.scope(SCOPE).*/ .build(); request = new OAuthRequest(Verb.GET, RESOURCE_URL); service.signRequest(new Token("", ""), request); // Now let's go and ask for a protected resource! Log.d("scribe","Now we're going to access a protected resource..."); try{ response = request.send(); if (response.isSuccessful()) { responsebody = response.getBody(); } } catch (Exception e) { e.printStackTrace(); }
к сведению, что если вы не используете выше кода в AsyncTask, затем положить request.send() часть в потоке (на самом деле весь try_catch раздел) для избегая работать в исключении основной нити
, наконец, если вы хотите отправить данные, например, в случае, если вы хотите обновить заказ, заменить
request = new OAuthRequest(Verb.GET, RESOURCE_URL);
с этими линиями:
String payload = yourJsonOBJ.toString(); request = new OAuthRequest(Verb.PUT, RESOURCE_URL); request.addHeader("Content-Type", "application/json"); request.addPayload(payload);
больше информации в WooCommerce Documentation site
Надежда это поможет;)
удачи ..
спасибо, он работает. Но ответ имеет ограничение при назначении этой 'String'. Как я могу получить это в формате JSON? –
в библиотеке scribe он возвращает ответ только в одном String. Таким образом, он поддерживает ответ с почти 2^31 = 2147483648 символами. проверьте эту страницу, на которой показан класс ответчика: http://grepcode.com/file/repo1.maven.org/maven2/org.scribe/scribe/1.3.0/org/scribe/model/Response.java#Response. 0stream – Moradi
new Thread() {
@Override
public void run() {
String RESOURCE_URL = "http://www.woocommerce.com/wp-json/wc/v1/api/";
String SCOPE = "*"; //all permissions
Response response;
OAuthRequest request;
String responsebody = "";
OAuthService service = new ServiceBuilder().provider(OneLeggedApi10.class)
.apiKey("yourConsumerKey")
.apiSecret("yourConsumerSecret")
.signatureType(SignatureType.QueryString)
.debug()
/*.scope(SCOPE).*/
.build();
request = new OAuthRequest(Verb.GET, RESOURCE_URL);
service.signRequest(new Token("", ""), request);
// Now let's go and ask for a protected resource!
Log.d("scribe","Now we're going to access a protected resource...");
try {
response = request.send();
if (response.isSuccessful()) {
responsebody = response.getBody();
Log.v("response", responsebody);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
Этот код обновляется с выше, выше код работает получать JSON от WordPress API Woocommerce. Но если вам интересно, как использовать Thread, это ответ. И я добавляю Log.v, чтобы увидеть ответ json.
- 1. WooCommerce Rest API «woocommerce_rest_cannot_create»
- 2. WooCommerce Rest API
- 3. Woocommerce REST API отсутствует параметр ключа пользователя Oauth
- 4. Joomla Security REST API OAuth
- 5. Соединение API REST API Woocommerce отклонено
- 6. Аутентификация запроса API REST
- 7. Аутентификация API REST API TFS 2015
- 8. Аутентификация с помощью Rest API
- 9. Внедрение OAuth в REST API
- 10. API-интерфейс WooCommerce OAuth в python
- 11. LinkedIn REST API-аутентификация внезапно прекратила работу Android-эмулятор
- 12. Аутентификация Oauth
- 13. Аутентификация для приложения API REST Sinatra
- 14. Custom Taxonomy WooCommerce Rest API
- 15. Как аутентифицировать API REST WooCommerce
- 16. Аутентификация для Java Rally Rest API
- 17. Twitter Аутентификация с помощью API REST
- 18. Аутентификация с использованием OAuth в веб-API
- 19. REST API + OAuth + Mobile Flow
- 20. Magento Rest API - OAuth Ошибка
- 21. ColdFusion Paypal REST API oAuth
- 22. Аутентификация документовDB REST API вызывает
- 23. Office365 REST API Базовая аутентификация
- 24. REST API - аутентификация против авторизации?
- 25. JIRA REST API - базовая аутентификация
- 26. Аутентификация с внешним REST api
- 27. Rest API с внешним OAuth
- 28. аутентификация пользователя через REST API
- 29. Как - Аутентификация API AWS Rest
- 30. Аутентификация API REST | AppID + AppSecret
Вы поняли это? – VipulKumar
@VipulKumar благодарит за комментарии. теперь вы можете увидеть ответ :) – Moradi