}
/// <summary>
+ /// Twitter API へのアクセスに失敗しました。
+ ///[{0}]
+ ///
+ ///・ネットワーク設定が正しいか確認して下さい
+ ///・PC の時計が正しいか確認して下さい
+ /// (大幅にずれていると認証に失敗することがあります)
+ ///・設定画面から Twitter アカウントをもう一度追加し直して下さい に類似しているローカライズされた文字列を検索します。
+ /// </summary>
+ internal static string StartupAuthError_Text {
+ get {
+ return ResourceManager.GetString("StartupAuthError_Text", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// 読み込みページ数には数値(1~999)を指定してください。 に類似しているローカライズされた文字列を検索します。
/// </summary>
internal static string StartupReadDM_ValidatingText1 {
<data name="SearchResults_TabName" xml:space="preserve">
<value>Search Results</value>
</data>
+ <data name="StartupAuthError_Text" xml:space="preserve">
+ <value>Unable to access Twitter API.
+[{0}]
+
+ * Please confirm the network settings.
+ * Please confirm whether your PC's clock is accurate.
+ (It may fail to authentication when clock is delayed.)
+ * Please re-add the Twitter account in the settings dialog.</value>
+ </data>
</root>
\ No newline at end of file
<data name="SearchResults_TabName" xml:space="preserve">
<value>検索結果</value>
</data>
+ <data name="StartupAuthError_Text" xml:space="preserve">
+ <value>Twitter API へのアクセスに失敗しました。
+[{0}]
+
+・ネットワーク設定が正しいか確認して下さい
+・PC の時計が正しいか確認して下さい
+ (大幅にずれていると認証に失敗することがあります)
+・設定画面から Twitter アカウントをもう一度追加し直して下さい</value>
+ </data>
</root>
\ No newline at end of file
==== Ver 1.2.9-dev(2015/xx/xx)
* NEW: ウィンドウ最大化中でも発言詳細部やサムネイルの幅の変更が設定に保存されるようしました
+ * CHG: 起動時にTwitter APIへのアクセスに失敗した場合はエラーダイアログを表示するようにしました
* FIX: ハッシュタグ付加機能が動作しない不具合を修正
* FIX: サムネイル画像にフォーカスがない状態でマウスホイールによる画像の切り替えが動作しない不具合を回避
* FIX: 起動直後の初回のDM一覧取得が失敗する不具合を修正
ShortUrl.Instance.BitlyKey = this._cfgCommon.BitlyPwd;
// アクセストークンが有効であるか確認する
- this.tw.VerifyCredentials();
+ // ここが Twitter API への最初のアクセスになるようにすること
+ try
+ {
+ this.tw.VerifyCredentials();
+ }
+ catch (WebApiException ex)
+ {
+ MessageBox.Show(this, string.Format(Properties.Resources.StartupAuthError_Text, ex.Message),
+ Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ }
//サムネイル関連の初期化
//プロキシ設定等の通信まわりの初期化が済んでから処理する
{
res = twCon.VerifyCredentials(ref content);
}
- catch(Exception)
+ catch (Exception ex)
{
- return;
+ throw new WebApiException("Err:" + ex.Message, ex);
}
- if (res == HttpStatusCode.OK)
+ this.CheckStatusCode(res, content);
+
+ try
{
- Twitter.AccountState = MyCommon.ACCOUNT_STATE.Valid;
- TwitterUser user;
- try
- {
- user = TwitterUser.ParseJson(content);
- }
- catch(SerializationException)
- {
- return;
- }
- twCon.AuthenticatedUserId = user.Id;
+ var user = TwitterUser.ParseJson(content);
+ this.twCon.AuthenticatedUserId = user.Id;
+ }
+ catch (SerializationException ex)
+ {
+ MyCommon.TraceOut(ex.Message + Environment.NewLine + content);
+ throw new WebApiException("Err:Json Parse Error(DataContractJsonSerializer)", content, ex);
}
}