Post XML 数据从 android 到 Zoho CRM

Post XML data to Zoho CRM from android

我正在尝试从我的 android 应用程序向 Zoho CRM 发帖url,但我无法确定正确的格式。下面是 URL 布局应该是这样的(以这种精确格式):

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>.

我已经在 Web 浏览器中将其作为直接 url 进行了尝试,它可以更新我想用这种格式更新的字段,所以我知道这是正确的格式,但我只是不我不知道如何在 android.

中复制它

如果有帮助,每次都需要更新相同数量的字段,所以我需要一定数量的 <FL val="field name goes here">field value goes here</FL> 个值,在我的例子中,有 5 个。

好的,所以我实际上想出了一种解决方法,可以将数据从 Android post 发送到 Zoho CRM。首先,我正在使用 HttpAgent 到 Post 的 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>)

data 变量是一系列具有以下布局的 StringBuffer:

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

我需要 if 语句来检查是否选中了某个复选框,如果是,则更新与我的复选框关联的 CRM 字段,其他人可能不需要它。然后我将它们与以下代码一起附加:

StringBuffer data = new StringBuffer();

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

然后将数据变量插入 url,其中 "data" 已连接。然后你只需简单地完成它

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

                                    }
                                });

一切顺利。确保在将进入 URL 的所有空格之间添加 %20。起初我不知道,也不是 posting。

这是我为所有想知道的人准备的全部代码:

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 个,我只是想 post 代码以便任何寻找简单答案的人都可以找到它。