Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Android访问vtiger CRM的REST API?_Android_Api_Rest_Crm_Vtiger - Fatal编程技术网

如何使用Android访问vtiger CRM的REST API?

如何使用Android访问vtiger CRM的REST API?,android,api,rest,crm,vtiger,Android,Api,Rest,Crm,Vtiger,我正在尝试使用RESTAPI访问数据。如何做到这一点? 是否有任何示例,理想情况下包括目标URL 目前,我正在尝试使用v tiger目录中的fetchallertsPHP文件访问数据。您可以选择使用Webservices还是通过移动API Web服务文档: 官方vtwsclib:(但如果您搜索,其他人可能在GitHub上共享了更多Java代码) 据我所知,移动模块没有文档,您可能会发现我自己的文档在中很有用。使用此:- 这是一个基于for login的示例 public class Logi

我正在尝试使用RESTAPI访问数据。如何做到这一点? 是否有任何示例,理想情况下包括目标URL


目前,我正在尝试使用
v tiger
目录中的
fetchallerts
PHP文件访问数据。

您可以选择使用Webservices还是通过移动API

  • Web服务文档:
  • 官方vtwsclib:(但如果您搜索,其他人可能在GitHub上共享了更多Java代码)
据我所知,移动模块没有文档,您可能会发现我自己的文档在中很有用。

使用此:-

这是一个基于for login的示例

public class Login extends Activity {

      //URL to get JSON Array
      private static String url = "https://demo.vtiger.com/webservice.php?operation=getchallenge&username=admin";

      //JSON Node Names
      private static final String TAG_RESULT = "result";
      private static final String TAG_TOKEN = "token";

      // contacts JSONArray
      JSONArray contacts = null;

      String token = null;
      String sessionId;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);

        if (android.os.Build.VERSION.SDK_INT > 9) {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }


        new AsyncTask<Void, Void, Void>() {

            private ProgressDialog dialog = new ProgressDialog(Login.this);
            protected void onPreExecute() {
                   dialog.setMessage("Loging In... Please wait...");
                   dialog.show();
                  }

            @SuppressWarnings("unused")
            JSONObject result;

            @Override
            protected Void doInBackground(Void... params) {

                // Creating new JSON Parser
                JSONParser jParser = new JSONParser();

                // Getting JSON from URL
                JSONObject json = jParser.getJSONFromUrl(url);

                try {
                    // Getting JSON Array
                    result = json.getJSONObject(TAG_RESULT);
                      JSONObject json_result = json.getJSONObject(TAG_RESULT);

                    // Storing  JSON item in a Variable
                    token = json_result.getString(TAG_TOKEN);

                    //Importing TextView

                } catch (JSONException e) {
                    e.printStackTrace();
                }

                String username="admin";
                String accesskeyvalue = "w9OweWKUS4a5sSL";
                String accessKey=md5(token + accesskeyvalue);

                //For debugging purpose only
                //System.out.println(accesskeyvalue);
                //System.out.println(token);
                //System.out.println(accessKey);

        String data = null;

            try {
                data = URLEncoder.encode("username", "UTF-8")
                        + "=" + URLEncoder.encode(username, "UTF-8");
                data += "&" + URLEncoder.encode("accessKey", "UTF-8") + "="
                        + URLEncoder.encode(accessKey, "UTF-8");
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
        String text = "";
        BufferedReader reader=null;
        //System.out.println(data);

        // Send data
        try
        {

            // Defined URL  where to send data
            URL url = new URL("https://demo.vtiger.com/webservice.php?operation=login");

         // Send POST data request
          URLConnection conn = url.openConnection();
          conn.setDoOutput(true);
          OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
          wr.write( data );
          wr.flush();    

        // Get the server response    
        reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        StringBuilder sb = new StringBuilder();
        String line = null;

        // Read Server Response
        while((line = reader.readLine()) != null)
            {
                   // Append server response in string
                   sb.append(line + "\n");
            }


            text = sb.toString();
        }
        catch(Exception ex)
        {

        }
        finally
        {
            try
            {

                reader.close();
            }

            catch(Exception ex) {}
        }

        // Show response
        System.out.println(text);
        sessionId = text.substring(41, 62);
        //System.out.println("doInBackground()"+sessionId);



    return null;    
    }
            @Override
            protected void onPostExecute(Void aVoid) {
                super.onPostExecute(aVoid);    
                dialog.dismiss();
               }

         }.execute();

    } 

    public String md5(String s) 
    {
    MessageDigest digest;
        try 
            {
                digest = MessageDigest.getInstance("MD5");
                digest.update(s.getBytes(),0,s.length());
                String hash = new BigInteger(1, digest.digest()).toString(16);
                return hash;
            } 
        catch (NoSuchAlgorithmException e) 
            {
                e.printStackTrace();
            }
        return "";
    }
公共类登录扩展活动{
//获取JSON数组的URL
专用静态字符串url=”https://demo.vtiger.com/webservice.php?operation=getchallenge&username=admin";
//JSON节点名称
私有静态最终字符串标记_RESULT=“RESULT”;
私有静态最终字符串TAG_TOKEN=“TOKEN”;
//联系JSONArray
JSONArray联系人=null;
字符串标记=null;
字符串sessionId;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
如果(android.os.Build.VERSION.SDK_INT>9){
StrictMode.ThreadPolicy policy=新建StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(策略);
}
新建异步任务(){
private ProgressDialog=新建ProgressDialog(Login.this);
受保护的void onPreExecute(){
setMessage(“正在登录…请稍候…”);
dialog.show();
}
@抑制警告(“未使用”)
JSONObject结果;
@凌驾
受保护的Void doInBackground(Void…参数){
//创建新的JSON解析器
JSONParser jParser=新的JSONParser();
//从URL获取JSON
JSONObject json=jParser.getJSONFromUrl(url);
试一试{
//获取JSON数组
result=json.getJSONObject(TAG_result);
JSONObject json_result=json.getJSONObject(TAG_result);
//在变量中存储JSON项
token=json_result.getString(TAG_token);
//导入文本视图
}捕获(JSONException e){
e、 printStackTrace();
}
字符串username=“admin”;
字符串accesskeyvalue=“w9OweWKUS4a5sSL”;
字符串accessKey=md5(令牌+accesskeyvalue);
//仅用于调试目的
//System.out.println(accesskeyvalue);
//System.out.println(令牌);
//System.out.println(accessKey);
字符串数据=null;
试一试{
data=URLEncoder.encode(“用户名”,“UTF-8”)
+“=”+URLEncoder.encode(用户名,“UTF-8”);
数据+=”&“+URLEncoder.encode(“accessKey”、“UTF-8”)+”=”
+URLEncoder.encode(accessKey,“UTF-8”);
}捕获(不支持的编码异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
} 
字符串文本=”;
BufferedReader reader=null;
//系统输出打印项次(数据);
//发送数据
尝试
{
//已定义用于发送数据的URL
URL=新URL(“https://demo.vtiger.com/webservice.php?operation=login");
//发送POST数据请求
URLConnection conn=url.openConnection();
连接设置输出(真);
OutputStreamWriter wr=新的OutputStreamWriter(conn.getOutputStream());
wr.写入(数据);
wr.flush();
//获取服务器响应
reader=新的BufferedReader(新的InputStreamReader(conn.getInputStream());
StringBuilder sb=新的StringBuilder();
字符串行=null;
//读取服务器响应
而((line=reader.readLine())!=null)
{
//在字符串中追加服务器响应
sb.追加(第+行“\n”);
}
text=sb.toString();
}
捕获(例外情况除外)
{
}
最后
{
尝试
{
reader.close();
}
捕获(例外情况除外){}
}
//表示回应
System.out.println(文本);
sessionId=text.substring(41,62);
//System.out.println(“doInBackground()”+sessionId);
返回null;
}
@凌驾
受保护的void onPostExecute(void避免){
super.onPostExecute(避免);
dialog.dismise();
}
}.execute();
} 
公共字符串md5(字符串s)
{
信息摘要;
尝试
{
digest=MessageDigest.getInstance(“MD5”);
更新(s.getBytes(),0,s.length());
字符串哈希=新的BigInteger(1,digest.digest()).toString(16);
返回散列;
} 
捕获(无算法异常)
{
e、 printStackTrace();
}
返回“”;
}