Ejemplo n.º 1
0
    IEnumerator InsertInstagramData(GameObject instagramPicture, InstagramPictureObject instagramPictureObject)
    {
        IDictionary images             = (IDictionary)instagramPictureObject.instagramPictureData["images"];
        IDictionary standardResolution = (IDictionary)images["standard_resolution"];
        string      mainPicture_URL    = (string)standardResolution["url"];

        using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(mainPicture_URL))
        {
            yield return(uwr.SendWebRequest());

            if (uwr.isNetworkError || uwr.isHttpError)
            {
                Debug.Log(uwr.error);
            }
            else
            {
                var texture = DownloadHandlerTexture.GetContent(uwr);
                instagramPicture.transform.Find("MainPicture").GetComponent <MeshRenderer>().material.mainTexture = texture;
                instagramPicture.transform.Find("likes_count").GetComponent <TextMeshPro>().text = instagramPictureObject.likes_count.ToString() + " likes";
            }
        }
    }
Ejemplo n.º 2
0
    IEnumerator FetchInstagramPictures()
    {
        string url = "https://api.instagram.com/v1/users/self/media/recent/?access_token=506330496.3b119cf.a594cb94630540eabccc9c8c59f7477a";

        using (UnityWebRequest web_request = UnityWebRequest.Get(url))
        {
            yield return(web_request.SendWebRequest());

            if (web_request.isNetworkError || web_request.isHttpError)
            {
                Debug.Log(web_request.error);
            }
            else
            {
                string api_response = web_request.downloadHandler.text;
                Debug.Log(api_response);

                IDictionary apiParse = (IDictionary)Json.Deserialize(api_response);
                IList       InstagramPicturesList = (IList)apiParse["data"];

                foreach (IDictionary instagramPicture in InstagramPicturesList)
                {
                    //Getting the likes

                    IDictionary Likes       = (IDictionary)instagramPicture["likes"];
                    long        likes_count = (long)Likes["count"];

                    if (!isUserProfileFetched)
                    {
                        //Getting UserProfile info
                        IDictionary user               = (IDictionary)instagramPicture["user"];
                        string      userName           = (string)user["username"];
                        string      profilePicture_URL = (string)user["profile_picture"];

                        using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(profilePicture_URL))
                        {
                            yield return(uwr.SendWebRequest());

                            if (uwr.isNetworkError || uwr.isHttpError)
                            {
                                Debug.Log(uwr.error);
                            }
                            else
                            {
                                var profilePicturetexture = DownloadHandlerTexture.GetContent(uwr);
                                transform.Find("PortalMainParent").Find("ProfileInformation").Find("profilePicture").GetComponent <MeshRenderer>().material.mainTexture = profilePicturetexture;
                                transform.Find("PortalMainParent").Find("ProfileInformation").Find("userName").GetComponent <TextMeshPro>().text = userName + "'s";
                                isUserProfileFetched = true;
                            }
                        }
                    }



                    InstagramPictureObject instagramPictureObject = new InstagramPictureObject();
                    instagramPictureObject.instagramPictureData = instagramPicture;
                    instagramPictureObject.likes_count          = likes_count;

                    //adding object to list
                    instagramDataList.Add(instagramPictureObject);



                    //IDictionary images = (IDictionary)instagramPicture["images"];
                    //IDictionary standardResolution = (IDictionary)images["standard_resolution"];
                    //string mainPicture_URL = (string)standardResolution["url"];

                    ////testing
                    //Debug.Log(mainPicture_URL);

                    //using(UnityWebRequest uwr=UnityWebRequestTexture.GetTexture(mainPicture_URL))
                    //{
                    //    yield return uwr.SendWebRequest();

                    //    if (uwr.isNetworkError||uwr.isHttpError)
                    //    {
                    //        Debug.Log(uwr.error);
                    //    }else
                    //    {
                    //        //get downloaded picture
                    //        var texture = DownloadHandlerTexture.GetContent(uwr);
                    //        GameObject instagramGameobject = Instantiate(instagramGameobjectPrefab);
                    //        instagramGameobject.transform.Find("MainPicture").GetComponent<MeshRenderer>().material.mainTexture = texture;



                    //    }
                    //}
                }
                instagramDataList.Sort((instagramPicture1, instagramPicture2) => - 1 * instagramPicture1.likes_count.CompareTo(instagramPicture2.likes_count));
                Debug.Log(instagramDataList[0].likes_count);
                Debug.Log(instagramDataList[1].likes_count);
                Debug.Log(instagramDataList[2].likes_count);
                Debug.Log(instagramDataList[3].likes_count);
                Debug.Log(instagramDataList[4].likes_count);
                PlaceInstagramPictures();
            }
        }
    }