C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: Googleでlogout処理


(過去ログ 113 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■67052 / inTopicNo.1)  Googleでlogout処理
  
□投稿者/ まこと (1回)-(2013/06/27(Thu) 09:06:30)

分類:[C#] 

はじめまして、最近C#を勉強し始めました。
現在、SDKをダウンロードしてGoogleカレンダーにログインするまでは出来るようになりました。

検索してもログインの仕方は書いててもlogout処理が私の力では調べることができませんでした。

やりたい処理は、&#9747;を押した時にlogout処理を走らせたいです。
現状webBrowserでGoogleのlogoutアドレスにアクセスさせてみていますがちゃんとlogout出来ていないようです。



        //フォームのXボタンを押した時の処理
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.webBrowser1.Navigate(url02); //url02はlogoutアドレス
        }

引用返信 編集キー/
■67056 / inTopicNo.2)  Re[1]: Googleでlogout処理
□投稿者/ 魔界の仮面弁士 (250回)-(2013/06/27(Thu) 18:29:44)
No67052 (まこと さん) に返信
> 現在、SDKをダウンロードしてGoogleカレンダーにログインするまでは出来るようになりました。

SDK というのは、.NET Framework に対するものですか?
http://www.microsoft.com/ja-jp/download/details.aspx?id=19988

それとも、google API に関するものですか?
https://developers.google.com/google-apps/calendar/
引用返信 編集キー/
■67069 / inTopicNo.3)  Re[2]: Googleでlogout処理
□投稿者/ まこと (2回)-(2013/06/28(Fri) 15:52:42)
No67056 (魔界の仮面弁士 さん) に返信
> ■No67052 (まこと さん) に返信
>>現在、SDKをダウンロードしてGoogleカレンダーにログインするまでは出来るようになりました。
>
> SDK というのは、.NET Framework に対するものですか?
> http://www.microsoft.com/ja-jp/download/details.aspx?id=19988
>
> それとも、google API に関するものですか?
> https://developers.google.com/google-apps/calendar/


返信有難うございます!!

説明不足で申し訳ないです・・・

APIです。

検索してもログインの方法は沢山記述されてるのですがlogoutの方法が自分では見つけられませんでした。

ちなみにログインのソースは下記のとおりです。
UAを変更するのは、IEのバージョンが低いとGoogleからエラー画面が帰ってくる為、UAを変更しています。


string g_id = "グーグルログインID";
string g_pw = "パスワード";
string UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)";
string url02 = "https://accounts.google.com/Logout?continue=https%3A%2F%2Faccounts.google.com%2FServiceLoginAuth&il=true&zx=1ia9s6agnj34r"; //ログアウトアドレス

[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(int dwOption, string str, int nLength, int dwReserved);
[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkGetSessionOption(int dwOption, StringBuilder pBuffer, int dwBufferLength, ref int pdwBufferLength, int dwReserved);

private void Form1_Load(object sender, EventArgs e)
{
// カレンダーサービスを作成
CalendarService service = new CalendarService("companyName-applicationName-1");

// 認証設定
service.setUserCredentials(g_id, g_pw);
const int URLMON_OPTION_USERAGENT = 0x10000001;
string ua = "";

//元のUserAgentを取得する。
StringBuilder userAgent = new StringBuilder(255);
int returnLength = 0;
int result = UrlMkGetSessionOption(URLMON_OPTION_USERAGENT, userAgent, userAgent.Capacity, ref returnLength, 0);
//取得したUserAgentに文字を付け加える
ua = userAgent.ToString() + UserAgent;
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, ua, ua.Length, 0);
this.webBrowser1.Navigate("https://www.google.com/calendar/embed?src=" + g_id + "&ctz=Asia/Tokyo");
}

引用返信 編集キー/
■67070 / inTopicNo.4)  Re[3]: Googleでlogout処理
□投稿者/ 魔界の仮面弁士 (254回)-(2013/06/28(Fri) 16:38:42)
2013/06/28(Fri) 16:45:06 編集(投稿者)

No67069 (まこと さん) に返信
> APIです。

それは google API ではなく、Win32 API ですよね。


> UAを変更するのは、IEのバージョンが低いとGoogleからエラー画面が帰ってくる為、UAを変更しています。

UA に依存するという事は、接続手順に問題があるのだと思います。
ブラウザー用の URL にアクセスしていませんか?


最近利用していないので、現在の API 仕様については確認していません。
詳しいことは、先に紹介した google 公式資料を参照してみてください。
.NET 向けのライブラリもダウンロードできるようになっています。


探せば、幾つかサンプルも見つかるかと。
http://blogahf.blogspot.jp/2012/01/google-calendar-api-v3.html
http://blog.joy-h.com/2012/01/1111-using-systemusing-system.html
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -