簡體   English   中英

在android中的woocommerce rest api OAuth身份驗證

[英]woocommerce rest api OAuth authentication in android

android中OAuth 1.0a(單腿)身份驗證的示例代碼是什么? 它有一個圖書館嗎? 我使用eclipse,我是android的新手。 任何人都可以為我澄清道路嗎?

回答我自己的問題:

  1. 下載Scrib.jar庫並將其添加到您的lib文件夾(您可以從( 這里 )下載它
  2. 創建一個名為“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; } } 


  3. 現在您可以進行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(); } 
  4. 請注意,如果您沒有在AsyncTask中使用上面的代碼,那么將request.send()部分放在一個線程(實際上是整個try_catch部分)中,以避免在主線程異常中運行

  5. 最后,如果要發送數據,例如在您要更新訂單的情況下,請替換

      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站點的更多信息
希望它有所幫助;)
祝好運..

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();

此代碼從上面更新,上面的代碼正在從wordpress Woocommerce API獲取JSON。 但如果你想知道如何使用Thread這就是答案。 我添加了Log.v以查看json響應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM