【问题标题】:How to make an Instagram GET Request?如何发出 Instagram GET 请求?
【发布时间】:2017-12-18 07:49:51
【问题描述】:

很抱歉提供这么少的信息,但我正在尝试制作一个项目,从人们的公共 Instagram 帐户中提取以查看它们。

我目前正处于注册应用程序的阶段,并且已获得具有 public_content 范围的访问令牌。

但是,在搜索 Instagram 的端点时,我看到许多 GET 请求类似于

https://api.instagram.com/v1/users/self/media/recent/?access_token=ACCESS-TOKEN

我知道我必须用我自己的链接替换链接的ACCESS-TOKEN 部分,但我完全不知道如何在Android Studio 中用Java 调用这个GET 请求。

任何正确方向的建议或观点将不胜感激。

【问题讨论】:

  • 您可以使用 Retrofit 或 Volley 来处理请求。对于图片,最好使用 Glide 或 Picasso
  • 这是一个 REST Api,所以只需创建您自己的客户端。

标签: java android api get instagram


【解决方案1】:

有几种方法可以使用 Rest API。一个是通用异步任务,但我个人觉得它太笼统了。作为替代方案,您可以使用 Volley 从 Android 应用发出网络请求。

  1. Volley 添加到build.gradle 文件:


    dependencies {
        compile 'com.android.volley:volley:1.1.0'
    }

  1. 在您的应用上获取android.permission.INTERNET 权限。

  2. 使用您的应用 context 实例化 Volley 请求队列:



    // Instantiate the RequestQueue
    RequestQueue queue = Volley.newRequestQueue(this);

  1. JsonArrayJsonObject 创建请求:


    String url = "https://api.instagram.com/v1/users/self/media/recent/?access_token=DUMMY-ACCESS-TOKEN";

    JsonObjectRequest jsObjRequest = new JsonObjectRequest
            (Request.Method.GET, url, null, new Response.Listener() {

        @Override
        public void onResponse(JSONObject response) {
            // Set up operation for network callback here
        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            // TODO Auto-generated method stub

        }
    });

  1. 将请求添加到 volley RequestQueue:


    // queue object was instantiated in pt#3
    queue.add(jsObjRequest);

【讨论】:

    猜你喜欢
    • 2016-11-08
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 2012-06-14
    • 2019-11-09
    • 2011-06-18
    • 1970-01-01
    相关资源
    最近更新 更多