2016-08-23 3 views
0

Я пытаюсь сделать posturl для Zoho CRM из моего приложения для Android, и я не могу определить правильное форматирование. Ниже приведен пример размещения URL-адреса (в этом формате EXACT):Опубликовать XML-данные для Zoho CRM от android

https://crm.zoho.com/crm/private/xml/Potentials/updateRecords?authtoken=myauthtoken&scope=crmapi&id=potentialsid&xmlData=<Potentials><row no="1"><FL val="field name goes here">field value goes here</FL>(repeat <FL val="field name goes here">field value goes here</FL> for every field you want populated)</row></Potentials>.

Я пробовал это как прямой URL-адрес в веб-браузере, и он работал над обновлением поля, которое я хотел обновить в этом формате, поэтому я знаю, что это правильный формат, но я просто не знаю, как повторите это в android.

Если это помогает, то такое же количество полей необходимо будет обновлять каждый раз, поэтому мне понадобится определенное количество значений <FL val="field name goes here">field value goes here</FL>, в моем случае 5 из них.

ответ

0

Хорошо, поэтому я на самом деле выяснил, как обходным путем можно отправлять данные в Zoho CRM с Android. Во-первых, я использую HttpAgent для отправки URL-адреса. Далее, в HttpAgent.post(), у меня есть следующий макет для моего URL:

HttpAgent.post("https://crm.zoho.com/crm/private/xml/Potentials/ 
updateRecords?authtoken=myauthtoken&scope=crmapi&id=potentialsid&xmlData= 
<Potentials><row no="1">" + data + "</row></Potentials>) 

переменные данных представляет собой серия StringBuffers со следующей планировкой:

StringBuffer variablename1 = new StringBuffer(); 
         if(Checkboxname1.isChecked()){ 
          variablename.append("<FL%20val=\"CRM Field Name\">CRM Field Value</FL>"); 
         } 

мне нужно, если чтобы проверить, установлен ли определенный флажок, и если это так, для обновления поля CRM флажок связан в моем случае, другим может не понадобиться. Я затем добавить их вместе со следующим кодом:

StringBuffer data = new StringBuffer(); 

data.append(variablename1.toString() + variablename2.toString()...); 

переменными данных затем просто вставляется в URL, где «данные» уже были соединены. Затем вы просто заканчиваете его с помощью простого

.go(new SuccessCallback() { 
            @Override 
            protected void onDone(boolean success) { 

            } 
           }); 

, и вы готовы к работе. Обязательно добавьте% 20 между всеми пробелами, которые будут отображаться в URL-адресе. Я не знал, что сначала, и это не была публикация.

Это мой общий код для всех, кто задается вопросом:

StringBuffer data = new StringBuffer(); 

         StringBuffer variable1 = new StringBuffer(); 
         if(checkboxname1.isChecked()){ 
          variable1.append("<FL%20val=\"CRM%20Field%20Name%201\">CRM%20Field%20Value%201</FL>"); //Make sure to add %20 between ALL spaces, that threw me off for awhile. 
         } 
         StringBuffer variable2= new StringBuffer(); 
         if(checkboxname2.isChecked()){ 
          variable2.append("<FL%20val=\"CRM%20Field%20Name%202\">CRM%20Field%20Value%202</FL>"); 
         } 

         data.append(variable1.toString() + variable2.toString()); 



         HttpAgent.post("https://crm.zoho.com/crm/private/xml/Potentials/updateRecords?authtoken=myauthtoken&scope=crmapi&id=" + PotentialID + "&xmlData=<Potentials><row%20no=\"1\">" + data + "</row></Potentials>") 


           .go(new SuccessCallback() { 
            @Override 
            protected void onDone(boolean success) { 

            } 
           }); 

P.S. Я добавлю все 5, которые мне нужны через некоторое время, я просто хотел опубликовать код, чтобы любой, кто ищет простой ответ, мог его найти.

 Смежные вопросы

  • Нет связанных вопросов^_^