にカスタムヘッダーを追加します。C#のコードは、私が走っている:Unity3Dは - ここでWWWForm
WWWForm formData = new WWWForm();
//Adding
formData.headers.Add ("Authorization", "Basic " + System.Convert.ToBase64String(Encoding.UTF8.GetBytes(CONSUMER_KEY + ":" + CONSUMER_SECRET)));
formData.headers.Add ("Host", "api.twitter.com");
//Assigning
formData.headers ["Host"] = "api.twitter.com";
formData.headers ["Authorization"] = "Basic " + System.Convert.ToBase64String (Encoding.UTF8.GetBytes (CONSUMER_KEY + ":" + CONSUMER_SECRET));
Debug.Log (formData.headers ["Authorization"]);
を上に示したように、私はヘッダにAuthorization
とHost
フィールドを追加しようとしましたが、その後、ちょうどそれらに値を割り当てます念のため。しかしUnity3Dは毎回formData.headers ["Authorization"]
にエラーを投げます。ここで
エラーメッセージです:
KeyNotFoundException: The given key was not present in the dictionary.
System.Collections.Generic.Dictionary`2[System.String,System.String].get_Item (System.String key) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:150)
Information+Twitter.GetToken() (at Assets/Static Libraries/Information.cs:143)
Information.Initialize() (at Assets/Static Libraries/Information.cs:18)
WorldScript.Awake() (at Assets/WorldScript.cs:16)
読み取り専用オブジェクトを変更してもエラーまたは警告が表示されないのは奇妙です。 –
私はそれが有線であることを知っています。 'WWWForm.headers'にアクセスするたびに、' Dictionary'の新しいインスタンス/コピーが与えられます。あるいは、Unityは 'Dictionary'から何かを削除するコードを持っています。私はソースコードを持っていない限り、正確に何が起こっているのかわかりません。 – Programmer