質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

3回答

2718閲覧

Unity "NullReferenceException"

nekotarou

総合スコア16

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2018/01/14 22:46

###前提・実現したいこと

http://t-quruli.hatenadiary.jp/entry/2016/09/03/113708
ここのサイト様のようにニコニコニュースをUnityで取得しようとしてるのですが、エラーメッセージがでてしまいました。

###発生している問題・エラーメッセージ

NullReferenceException: Object reference not set to an instance of an object RSSpro+<GetNews>c__Iterator1.MoveNext () (at Assets/RSSpro.cs:38) UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)

###該当のソースコード

C#

1using UnityEngine; 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine.UI; 5using MiniJSON; 6 7public class RSSpro: MonoBehaviour { 8 9 10 public GameObject itemPrefab = null; 11 public GameObject parent = null; 12 13 14 15 private string nikonikoNews = "https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://news.nicovideo.jp/topiclist?rss=2.0"; 16 17 18 // Use this for initialization 19 private IEnumerator Start () { 20 21 22 23 yield return GetNews( nikonikoNews ); 24 25 26 } 27 28 29 private IEnumerator GetNews ( string url ) 30 { 31 WWW www = new WWW( url ); 32 33 34 yield return www; 35 36 var data = (Dictionary<string,object>)MiniJSON.Json.Deserialize( www.text ); 37 var responce = (Dictionary<string,object>)data[ "responseData" ]; 38 var feed = (Dictionary<string,object>)responce[ "feed" ]; 39 var entries = (List<object>)feed[ "entries" ]; 40 41 for ( int i = 0; i < entries.Count; i++ ) 42 { 43 var list = ( Dictionary<string, object> )entries[ i ]; 44 45 GameObject obj = Instantiate( itemPrefab ); 46 Text text = obj.GetComponentInChildren<Text>(); 47 text.text = (string)list[ "title" ]; 48 49 50 obj.transform.parent = parent.transform; 51 52 } 53 54 } 55} 56

###試したこと
NullReferenceExceptionが設定されていない変数を示しているときに出るエラーということは理解できたのですが、具体的にどのように解決したら良いのかがわからず困っています。
回答よろしければお願いいたします。

###補足情報(言語/FW/ツール等のバージョンなど)
unity 2017.1.1f1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

調べてみた感じでは、「Google Feed API」は2016年12月15日にサービスを停止したようです。
実際に公式ページを見ると、ページ上部にその旨の内容が表示されておりました。

投稿2018/01/15 01:27

fiveHundred

総合スコア9803

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nekotarou

2018/01/16 17:47

どうやらそのようですね。疑問が解決しました。ありがとうございます!
guest

0

こんにちは。

取り敢えず、nikonikoNews をアクセスすると、

{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}

が返ってます。403はhttpのエラーコードでしょうから、閲覧禁止だそうです。

該当のページはログインしていないと見れないのでは?
リンク先の人はログインしているけど、nekotarouさんはログインしていないということではないでしょうか?

投稿2018/01/15 01:13

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nekotarou

2018/01/16 17:46

どうやらGoogle Feed APIが終了している影響でエラーコードがでるようですね
guest

0

エラーチェックするようにしてください。
・wwwでエラーがでていないか
・Deserializeができているか
・dataに"responseData"が存在するか
・responceがnullじゃないか
・responceに"feed"がちゃんとあるか
・feedがnullじゃないか
・feedに"entries"がちゃんとあるか
・entriesがnullじゃないか
(以下略)

投稿2018/01/15 00:39

HiroshiWatanabe

総合スコア2160

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nekotarou

2018/01/15 01:15

どうやらresponceにnullが入っているみたいでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問