Je veux récupérer des données à partir de certaines api, je ne sais pas où je me trompe dans mon logcat, son erreur indiquant que le code de réponse inattendu 403 est mon activité principale
ceci est mon logcat pls aidez-moi à résoudre cette erreur je suis un débutant
public class MainActivity extends AppCompatActivity { RequestQueue queue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); queue=MySingleton.getInstance(this).getmRequestQueue(); getList(); } ArrayList getList(){ JsonObjectRequest jsonObjectRequest =new JsonObjectRequest(Request.Method.GET, "https://newsapi.org/v2/top-headlines?country=in&apiKey=e613af58839749aab8f66bba967ab5a8", null , new Response.Listener() { @Override public void onResponse(JSONObject response) { try { String val=response.getString("status"); Log.d("json","status : "+val); //i want to see this val in my logcat but its giving an error } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }); queue.add(jsonObjectRequest); return questionsobjectList; }
4 Réponses :
Récemment, Newsapi.org a déclaré que la version gratuite de l'api n'est disponible que pour l'hôte local, si vous souhaitez accéder gratuitement (clé de développeur), hébergez-la dans votre service backend ou créez votre propre api de repos en utilisant cette clé.
y a-t-il un moyen par lequel je peux l'héberger dans mon backend, pouvez-vous me fournir des étapes pour le faire
Oui, pour cela, j'ai déjà hébergé un serveur API sur tns-news-api.herokuapp.com . vous pouvez l'utiliser ou créer votre propre backend et héberger librement sur heroku, glitch etc. Pour ma documentation api, vous pouvez me contacter +91 9004869069
Même est-ce que j'ai fait face. Mais quand je change la bibliothèque de volée pour rénover son travail comme un charme.
L'ajout d'un getHeader personnalisé à la demande peut aider. Pour ce faire, ajoutez un objet: avant la construction de la requête, et la fonction getHeader mentionnée ci-dessous.
pouvez-vous écrire ce même code en java?
@yashgupta stackoverflow.com/questions/35218464/… Veuillez suivre ceci ici, ils ont implémenté en java
Essayez ce fichier d'en-tête en java:
@Throws(AuthFailureError::class) fun getHeaders(): Map<String, String>? { val headers = HashMap<String, String>() //headers.put("Content-Type", "application/json"); headers["key"] = "Value" return headers }
ou en kotlin:
@Override public Map<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> headers = new HashMap<String, String>(); //headers.put("Content-Type", "application/json"); headers.put("key", "Value"); return headers; }
Salut, j'utilise l'URL correcte car j'essaie de la charger dans le navigateur et cela fonctionne bien, mais lorsque j'y accède à partir de l'application Android, cela donne une erreur
même erreur que je rencontre dans apis newapi.org.
y a-t-il un moyen de se débarrasser de ce problème