Encoded URL -
https://spreadsheets.google.com/tq?tqx=out:JSON&tq=select%20*%20where%20((A%20%3D%20201))&key=1424bS7kU8nJbHdu4QdoAFdIdWDSnmEnj2NqfMb6rPTU
Decoded URL -
https://spreadsheets.google.com/tq?tqx=out:JSON&tq=select * where ((A= 201))&key=1424bS7kU8nJbHdu4QdoAFdIdWDSnmEnj2NqfMb6rPTU
In the URI builder which URL we should use encoded or decoded?
Also the given code is not working :-
String xyz="1424bS7kU8nJbHdu4QdoAFdIdWDSnmEnj2NqfMb6rPTU";
String X="201";
final String STUDENT_RECORD_URL="https://spreadsheets.google.com/tq?tqx=out:JSON&tq=select*where";
final String Frag1 = "A";
final String Frag2 = "key";
Builder builder = Uri.parse(STUDENT_RECORD_URL).buildUpon();
builder.appendQueryParameter(Frag1,X);
builder.appendQueryParameter(Frag2,xyz);
String finalUri=builder.build().toString();
I think you are misunderstanding what your query params are. They should each be key-value pairs in your url. For your url https://spreadsheets.google.com/tq?tqx=out:JSON&tq=select * where ((A= 201))&key=1424bS7kU8nJbHdu4QdoAFdIdWDSnmEnj2NqfMb6rPTU
, building it would look something like:
final String STUDENT_RECORD_URL="https://spreadsheets.google.com/tq";
Builder builder = Uri.parse(STUDENT_RECORD_URL).buildUpon();
builder.appendQueryParameter("txq", "out:JSON");
builder.appendQueryParameter("tq", "select * where ((A= 201))");
builder.appendQueryParameter("key", "1424bS7kU8nJbHdu4QdoAFdIdWDSnmEnj2NqfMb6rPTU");
String finalUri = builder.build().toString();
The appendQueryParameter
method will automatically url encode your parameters.