2017-06-16 55 views
1

我想隱藏公衆的JSON文件。所以沒有人可以下載這個JSON數據或者通過我的JSON文件瀏覽器。 我只想要我自己開發的應用程序可以獲取此JSON文件的信息。公開隱藏JSON文件;只能訪問我的Android應用程序

有沒有一種方法來編碼?謝謝回答。

+0

你必須創建一個過程,將明確標識您的應用程序。它不是100%安全,但比沒有更好 – Tamar

+0

我必須在我的JSON文件中執行此操作嗎?你能告訴我我是如何編碼的,哪些方面可以識別我的應用程序? – android

+0

json存儲在哪裏? – Tamar

回答

0

你需要做的是使用只有你的服務器和你的客戶端(移動應用程序)已知的令牌,同時打電話給你的服務器來獲取JSON數據。簽出以下關於如何使用令牌從服務器獲取數據的教程。

android token authentication


retrofit token authentication

HttpClient httpClient = new DefaultHttpClient(); 
HttpPost httpPost = new HttpPost("https://yourbackend.example.com/tokensignin"); 

try { 
    List nameValuePairs = new ArrayList(1); 
    nameValuePairs.add(new BasicNameValuePair("idToken", idToken)); 
    httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

    HttpResponse response = httpClient.execute(httpPost); 
    int statusCode = response.getStatusLine().getStatusCode(); 
    final String responseBody = EntityUtils.toString(response.getEntity()); 
    Log.i(TAG, "Signed in as: " + responseBody); 
} catch (ClientProtocolException e) { 
    Log.e(TAG, "Error sending ID token to backend.", e); 
} catch (IOException e) { 
    Log.e(TAG, "Error sending ID token to backend.", e); 
} 

或者添加一個令牌改造NetworkInterceptor

builder.setRequestInterceptor(new RequestInterceptor() { 
       @Override 
       public void intercept(RequestFacade request) { 
        request.addHeader("Authorization", authToken); 
       } 
      }); 
     } 
+0

請使用鏈接中的任何相關引用來描述您的答案中的步驟。這樣,如果鏈接斷開,您的答案仍然有用。退房[回答] –

相關問題