[Silverlight][Facebook] 在Silverlight中取得Cookie方法
2010/10/28
一樣一句老話最近在跟Facebook 纏鬥..
為了在Silverlight中拿到 access_token 只好用這招..(攤手
取得Cookie的值...
首先介紹版面配置...
基本上這案例很簡單 就是按下 btnGetCookies 的按鈕
就會分別撈出 Cookies 的名稱 放到 lbCookieName 這ListBox中..
則Cookie的值 會放到lbCookieValue 這ListBox中…
首先記得要先
using System.Windows.Browser;
我們來看 btnGetCookies 的Click 事件
C# Code :
private void btnGetCookies_Click(object sender, RoutedEventArgs e)
{
//用分號隔開 變成 String []
String[] cookies = HtmlPage.Document.Cookies.Split(';');
foreach (String cookie in cookies)
{
String[] keyValues = cookie.Split('=');
//這邊為了避免值裡面有= 符號,而且Facebook特愛用這符號..
//所以這作法是我按照第一個= 的出現 其餘我都視為是值
this.lbCookieName.Items.Add(keyValues[0]);
this.lbCookieValue.Items.Add(cookie.Replace(keyValues[0]+ "=", ""));
}
}
這樣執行結果為:
這兩組是對應的…
Cookie 名稱為 fbs_15835007519884 , Cookie 內容就是: “access_token=….”
先這樣解決手上的需求..
其他的等遇到再跟大家分享..^^
下面範例你會看到值 是因為我在Javascript 中寫入兩筆資料到Cookie 中,所以可以撈得到..
我插入的Javascript Code 如下:
<script type="text/javascript">
function createCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "";
expires = "" + date.toGMTString();
}
else var expires = "";
document.cookie = name + "=" + escape(value) + "; expires=" + expires;
}
createCookie("CookieName1", "DataValue1", 1);
createCookie("CookieName2", "DataValue2", 1);
</script>
讚一下:
預覽:
檔案下載:
標籤:
Facebook,
Javascript,
Silverlight
|
This entry was posted on 下午3:09
and is filed under
Facebook
,
Javascript
,
Silverlight
.
You can follow any responses to this entry through
the RSS 2.0 feed.
You can leave a response,
or trackback from your own site.
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言