我一直在 android studio 中制作一个 News API 项目,但是 volley 出错了。错误 - com.android.volley.AuthFailureError。使用 json

Posted

技术标签:

【中文标题】我一直在 android studio 中制作一个 News API 项目,但是 volley 出错了。错误 - com.android.volley.AuthFailureError。使用 json【英文标题】:I have been making an News API project in android studio but have volley got error in it. Error- com.android.volley.AuthFailureError. Using json 【发布时间】:2021-10-30 19:19:03 【问题描述】:
public class MainActivity extends AppCompatActivity 

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        RequestQueue requestQueue;
        requestQueue = Volley.newRequestQueue(this);
        List<news_Objects> newsList = new ArrayList<>();
 
        //url for News API 

        String url="https://newsapi.org/v2/everything?q=apple&from=2021-08-31&to=2021-08-31&sortBy=popularity&apiKey=ca3d6c89eff24db2a8ef78868f0af555";

//making json object request
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() 
            @Override
            public void onResponse(JSONObject response) 

                try 
                    JSONArray jsonArr = response.getJSONArray("articles");

                    for (int i = 0; i < jsonArr.length(); i++) 
                        JSONObject newsDetail = jsonArr.getJSONObject(i);

//class name news_Objects created 

                        news_Objects news = new news_Objects();

                        String imtUrl = newsDetail.getString("urlToImage");
                        String title = newsDetail.getString("title");
                        String detail = newsDetail.getString("description");
                        String newsUrl = newsDetail.getString("url");
                        String content = newsDetail.getString("content");

                        news.setNewsImageUrl(imtUrl);
                        news.setNewsTitle(title);
                        news.setNewsDetail(detail);
                        news.setNewsUrl(newsUrl);
                        news.setContent(content);
                        newsList.add(news);
                    

                 catch (JSONException e) 
                    e.printStackTrace();
                
            
        , new Response.ErrorListener() 
            @Override
            public void onErrorResponse(VolleyError error) 
                Log.d("fine", "Something Wrong"+error);
                Toast.makeText(MainActivity.this, "Something Wrong "+error, Toast.LENGTH_SHORT).show();
                error.printStackTrace();
            
        );
        requestQueue.add(request);

    

【问题讨论】:

请正确格式化代码,添加错误的堆栈跟踪。这将有助于其他人更好地理解您的问题。 您能否将错误消息和可能的堆栈跟踪添加到您的问题中? 该 URL 似乎也返回了 401 错误,说明 API 密钥无效。我认为这可能是你的问题 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:

您的 API 密钥无效,请检查您的 API 密钥。得到这个回应: "status":"error","code":"apiKeyInvalid","message":"您的 API 密钥无效或不正确。请检查您的密钥,或前往https://newsapi.org 创建免费的 API 密钥。"

【讨论】:

【参考方案2】:

可能您的 API 密钥未激活,请检查您的 API 密钥状态,然后再次点击 api。

【讨论】:

以上是关于我一直在 android studio 中制作一个 News API 项目,但是 volley 出错了。错误 - com.android.volley.AuthFailureError。使用 json的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio TV 遥控器按钮

如何在 Android Studio 中连接或链接到 localhost 服务器地址

Android Studio 无法识别“setAdapter()”方法

如何在 Android Studio 中制作搜索框

无法在 android studio 中生成使用 react native 制作的 apk 项目

如何将我在Android Studio中制作的应用程序放入手机中?