- 浏览: 636043 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- 生活 (2)
- c# (37)
- 技术 (3)
- 400电话 (0)
- 400常见问题 (0)
- 400资费 (0)
- html (7)
- css (0)
- 数据库 (7)
- javascript (16)
- php (33)
- asp.net mvc2 (10)
- mysql (9)
- C# 3.0 LinQ (10)
- vs2005或vs2008 (4)
- flash and as3 (7)
- fms (1)
- dedeCMS (11)
- java (33)
- j2me (1)
- swing (1)
- c++ (1)
- jquery easyui (3)
- jquery (5)
- android (29)
- MongoDB (9)
- VtigerCRM (1)
- test (0)
- linux (30)
- nutch (2)
- SqlServer数据库 (2)
- 数据检索 (2)
- java抓取 (11)
- 乐天 (1)
- 淘宝 (1)
- Silverlight4.0 (6)
- sphinx实时索引 (5)
- ecshop (9)
- codeigniter(CI) (3)
- axure6 (1)
- 京东店铺装修教程 (2)
- xpath (1)
- joomla (2)
- bpm (1)
- Bootstrap (2)
- knockout (4)
- ecstore (4)
- css3 (1)
- 微信 (2)
- dede (0)
- soa_edi (1)
- odoo (0)
- web (1)
最新评论
-
骑着蜗牛超F1:
在ie6下报了个stack overflow at line ...
兼容ie6和ie7 的16进制码流在html中显示为图片代码(base64) -
冰之海洋:
好像少了一句代码吧? FloatingFunc.show(th ...
android 一直在最前面的浮动窗口效果 -
yanzhoupuzhang:
连接有问题!
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000) -
whatable:
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT, ...
java swing 内置浏览器打开网页显示flash图表-swt Browser应用 -
yy_owen:
我晕啊,你链接的什么内容额,我要的iis,你链接个视频什么意思 ...
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
-
创建一个新的ASP.NET网站
- . 在Visual Studio 2008,创建一个新的ASP.NET Web应用程序。
- 右键在解决方案资源管理器并选择属性项目按一下。在Web应用程序属性窗口中,导航到Web选项卡。
- 验证“使用Visual Studio开发服务器”被选中,并选择“特定端口”单选按钮。
For
the port number,
- 为端口号码,输入48284(时使用的端口创建Facebook应用以上)。保存更改并关闭属性页。注意:IIS也可以用于发展,但简洁的Visual Studio的Web服务器在此使用演练。
- Add Reference to the Facebook Developer ToolKit
添加引用到Facebook的开发工具包
- 下载Facebook的开发工具包(FDT的) 。
- 添加对FDT的程序集的引用。(项目右键单击,添加引用,选择浏览选项卡,浏览到Facebook.dll)
- Configuring Cross-Domain Support
配置跨域支持
- 在Web应用程序进行通信与Facebook的连接平台,跨域通信通道的文件顺序必须创建并添加到Web应用程序域。此文件引用的JavaScript跨域library提供了商标的规定并处理转让与Facebook和第三方的网站。实现很简单:
- 添加一个新的HTML页面到您的名为“xd_receiver.htm Web应用程序的根”
-
打开xd_receiver.htm并取代所有与以下标记:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html > <body> <script src= "http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script> </body> </html>
欲了解更多信息,请访问http://wiki.developers.facebook.com/index.php/Cross-domain_communication_channel 。
Facebook的连接组件添加到HTML标记
- Open Default.aspx. 开放的Default.aspx。
-
Facebook的XML架构参考通过修改<HTML>标记:
<html xmlns=http://www.w3.org/1999/xhtml xmlns:fb="http://www.facebook.com/2008/fbml"> <html xmlns=http://www.w3.org/1999/xhtml xmlns:fb="http://www.facebook.com/2008/fbml">
-
参考<HEAD>部分内的商标脚本库:
-
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"> </ script >
-
添加到本页面的<BODY> Facebook的登录按钮。
-
<fb:login-button onlogin="window.location.reload()"> </布里亚托利:登录的按钮>“
Note that the onlogin event will trigger the page to reload after Facebook login completes, which will allow the web application to re-examine the authentication status during its Page_Load event to apply authenticated/not authenticated conditional code. 请注意,onlogin事件会触发页面重新载入商标登录完成后,将允许web应用程序重新审查其Page_Load事件中的认证资格申请认证/未通过身份验证条件代码。
-
Add a simple ASP.NET label control to display the current authentication status: 添加一个简单的ASP.NET的标签控制来显示当前的身份验证状态:
<asp:label id="lblStatus" runat="server" /> <asp:label id="lblStatus" runat="server" />
-
在最底层的标记,就在结束</网页>标签(添加以下初始化Facebook的JavaScript库:(API密钥更改为您为您的关键在Facebook应用程序生成)
<script type="text/javascript">
FB.init("[PASTE API KEY HERE]", "xd_receiver.htm");
</script> - 注:其他(非相片)标记已被添加到显示的格式和样本,下载并查看示例源代码,以查看完整的标记。商标绑定到ASP.NET控件对象覆盖更深入以后在这walkthough 。成品抽样标记的形式创建一个能够创造新的相片和展示活动的特邀嘉宾RSVP的地位。
Authentication and Initiating a Session 身份验证和启动一个会话
该示例应用程序现在包含的所有组件,需要沟通与Facebook连接。本节增加了代码隐藏应用程序所需的影响验证身份的转变,创建一个Facebook开发工具包ConnectSession对象和编写工具包的API对象,将用于对商标的REST的API今后所有的来电。
Facebook的连接的地方cookie,包括秘密的会议,会议重点和用户ID后,浏览器的用户进行身份验证。Facebook的开发工具包中的ConnectSession类处理这些cookie值检索和管理的格式提交给Facebook平台这些值。
For more information on Facebook Connect authentication, see http://wiki.developers.facebook.com/index.php/How_Connect_Authentication_Works . 欲了解更多关于Facebook的连接的身份验证信息,见
http://wiki.developers.facebook.com/index.php/How_Connect_Authentication_Works 。
Adding Code-Behind Logic 添加代码背后的逻辑
- 打开Default.aspx.cs代码隐藏类。
-
添加私有成员来存储API密钥与应用秘密,会议和Facebook的连接工具包的对象( 注意,这只是演示的目的是 ,生产应用程序的web.config应该存储在这些键,或使用其他手段,确保了 )。 A generic List of the custom type EventUser is declared to store a collection of users for an existing Event. 一个自定义类型EventUser通用存储名单宣布为现有的用户事件的集合。
private const string ApplicationKey = "[Application Key]";
private const string SecretKey = "[Application Secret Key]";
private Api _facebookAPI;
private ConnectSession _connectSession;
private List<EventUser> _eventUsers; - 编辑Page_Load事件处理程序如下。阿ConnectSession对象是实例化在每个负载的应用中的 关键和秘密密钥(也可以通过这个存储,可重复使用的对象)。ConnectSession.IsConnected方法的研究和指导代码流向适当的行为: 如果没有连接,页面只显示登录信息。如经确认,一个Facebook开发工具包API对象初始化使用ConnectSession实例。用户检索的对象是 目前已全面启用发出呼吁对Facebook的空气污染指数。 Finally, the status is updated with a simple message showing we have authenticated the user. 最后,状态更新,显示我们有一个简单的验证用户信息。
protected void Page_Load(object sender, EventArgs e) { // Authenticated, created session and API object _connectSession = new ConnectSession(APPLICATION_KEY, SECRET_KEY); if (!_connectSession.IsConnected()) { // Not authenticated, proceed as usual. lblStatus.Text = "Please sign-in with Facebook."; } else { // Authenticated, create API instance _facebookAPI = new Api(_connectSession); // Load user user user = _facebookAPI.Users.GetInfo(); if (!Page.IsPostBack) { // Display the user’s name lblStatus.Text = string.Format("Signed in as {0} {1}", user.first_name, user.last_name); // Set the NavigateUrl target address for granting this application // the create_event extended permission NewEventGrantPermission.NavigateUrl = string.Format("http://www.facebook.com /authorize.php?api_key={0}&v=1.0 &ext_perm={1}", APPLICATION_KEY, Enums.ExtendedPermissions.create_event); // Set dummy event date NewEventDate.Text = DateTime.Now.AddDays(7).ToString(); // Set a default host name (user’s name) NewEventHost.Text = string.Format("{0} {1}", user.first_name, user.last_name); // Load existing Facebook Events LoadExistingEvents(); } } if (!Page.IsPostBack) { // Set section visibility ToggleSectionVisibility(); } }
使用Facebook的工具包来访问API的方法
acebook的开发工具包(FDT的)的建立是为了减轻使用Facebook的API和开发平台。NET开发人员。一个Facebook的API的方法的列表,可以在发现http://wiki.developers.facebook.com/index.php/空气污染指数 。FDT的包装了休息的功能的,配料,数据存储,Facebook的连接和权限的API。
例如,要检索当前用户的活动并将其绑定到一个ASP.NET控制,使用的FacebookAPI对象的事件的 实例来调用该API的method calls available在这种情况下(一身,Events.Get用于为了检索从Facebook的API事件对象的集合)。
示例1:通过Facebook检索和开发工具包绑定事件
// Get user's events via Facebook Toolkit API object var facebookevents = _facebookAPI.Events.Get(); // Bind list to existing events EventList.DataSource = facebookevents; // Set the display and value fields EventList.DataTextField = "name"; EventList.DataValueField = "eid"; // Bind the data to control EventList.DataBind();
例2:在复杂ASP.NET控件绑定对象
一个稍微复杂的例子演示了如何绑定FDT的结果对象到ASP.NET ListView控件。
T 该LoadEventMembers方法检索所选事件的现有活动 下拉的ID,并调用FDT的方法Events.GetMembers返回指定事件一EventMemberInfo实例包含的RSVP列出了用户名()。 用户当前的事件列表被重置,并为每个RSVP的地位,LoadUsers被调用。LoadUsers方法简单的问题对于用户的ID,这反过来又填充了我们 的定制EventUser对象(实例只用于绑定到当前列表中的ListView使用一个请求Users.GetInfo)。 A simple sort is performed by last name, and the List is bound to the ListView ASP.NET control: 一个简单的排序是按姓氏进行,而且将会有一定的ListView ASP.NET控件:
private void LoadEventMembers() { // Get the currently selected Event ID long eid; if (!long.TryParse(EventList.SelectedValue, out eid)) return; if(eid <= 0) return; // Reset var eventMemberInfo = _facebookAPI.Events.GetMembers(eid); // Reset event users _eventUsers = new List<EventUser>(); // Load for each response type LoadUsers(eventMemberInfo.attending.uid, EventUser.EventUserStatus.Attending); LoadUsers(eventMemberInfo.declined.uid, EventUser.EventUserStatus.Declined); LoadUsers(eventMemberInfo.not_replied.uid, EventUser.EventUserStatus.NoResponse); LoadUsers(eventMemberInfo.unsure.uid, EventUser.EventUserStatus.Undecided); // Sort by last name _eventUsers.Sort((x, y) => x.LastName.CompareTo(y.LastName)); ExistingEventFriendsList.DataSource = _eventUsers; ExistingEventFriendsList.DataBind(); } private void LoadUsers(List<long> uids, EventUser.EventUserStatus eventUserStatus) { var users = _facebookAPI.Users.GetInfo(uids); foreach(var u in users) { _eventUsers.Add(new EventUser(u, eventUserStatus)); } }
标记下面演示了如何绑定到我们的自定义对象的ListView和呈现我们的自定义表的布局:
<asp:ListView ID="ExistingEventFriendsList" runat="server" DataKeyNames="UserID"> <LayoutTemplate> <table cellpadding="2" border="1" style="margin:6px 0 0 0;"> <tr id="Tr1" runat="server"> <th id="Th1" runat="server"></th> <th id="Th2" runat="server"></th> <th id="Th3" class="ExistingEventResponseCell" runat="server">Attending</th> <th id="Th4" class="ExistingEventResponseCell" runat="server">No Response</th> <th id="Th5" class="ExistingEventResponseCell" runat="server">Undecided</th> <th id="Th6" class="ExistingEventResponseCell" runat="server">Declined</th> </tr> <tr runat="server" id="itemPlaceholder" /> </table> </LayoutTemplate> <ItemTemplate> <tr> <td> <img src="<%# ((EventUser)Container.DataItem).PicSquare %>" height="30px" width="30px" alt="profile pic" /> </td> <td valign="top"> <asp:Label ID="LastNameLabel" runat="Server" Text='<%# string.Format("{0} {1}", ((EventUser)Container.DataItem).FirstName, ((EventUser)Container.DataItem).LastName) %>' /> </td> <td class="ExistingEventResponseCell"> <asp:CheckBox ID="Attending" runat="Server" Enabled="false" Checked='<%# ((EventUser)Container.DataItem).IsAttending %>' /> </td> <td class="ExistingEventResponseCell"> <asp:CheckBox ID="NoResponse" runat="Server" Enabled="false" Checked='<%# ((EventUser)Container.DataItem).IsNotResponded %>' /> </td> <td class="ExistingEventResponseCell"> <asp:CheckBox ID="Undecided" runat="Server" Enabled="false" Checked='<%# ((EventUser)Container.DataItem).IsUnsure %>' /> </td> <td class="ExistingEventResponseCell"> <asp:CheckBox ID="Declined" runat="Server" Enabled="false" Checked='<%# ((EventUser)Container.DataItem).IsDeclined %>' /> </td> </tr> </ItemTemplate> </asp:ListView>
对于每一个事件被邀请者,一个记录将被添加到ListView中与用户的RSVP的状况:
扩展权限是自愿选择具体的行动要求,从当前用户。这些方法需要更多的来自用户的信任水平,必须以个人的方式批出。推广的权限是:
- Public_stream Public_stream
- Read_stream Read_stream
- Email 电邮
- Offline_access Offline_access
- Create_event Create_event
- RSVP_event RSVP_event
- SMS 短信
- Status_update Status_update
- Photo_upload Photo_upload
- Video_upload Video_upload
- Create_Note Create_Note
- Share_Item Share_Item
- SDK_Binaries.zip (384.7 KB)
- 下载次数: 5
- Samples.zip (2.6 MB)
- 下载次数: 17
发表评论
-
Java和C#运行命令行并获取返回值 运行bat文件
2015-08-04 10:45 1336Java运行命令行的例子 import java.io.B ... -
c#操作excel后关闭excel.exe的方法
2013-04-10 10:47 928。网上的一种说法,关闭range,关闭worksheet,关 ... -
ddd
2012-05-24 17:30 0CREATE TABLE IF NOT EXISTS `s ... -
C#里 如何序列化与反序列化 hashtable Dictionary及C#连接mysql数据库
2011-08-19 13:24 1373using System.IO; using System. ... -
C# 压缩和解压web空间中的所有文件
2011-08-18 17:20 878using System; using ICSharpC ... -
C# 压缩和解压web空间中的所有代码
2011-08-18 17:17 685using System; using ICSharpCod ... -
自己制作软键盘的几个关键技术解析
2011-05-26 08:40 1083在嵌入式应用和一些安全软件中经常需要不通过物理键盘输入,虽然微 ... -
rtertert
2011-03-22 17:29 0fffffffffffffffffffffffff ... -
C#发送邮件时在正文中插入图片(邮件中直接包含图片)
2011-01-17 16:12 2422#region 发送邮件 ... -
c#生成Excel,可建立sheet,设定sheet名称,调整列宽度
2010-12-17 16:18 2702Excel生成类 ExcelRW.cs usin ... -
关于AutoResetEvent的使用
2010-12-16 17:21 919AutoResetEvent 允许线程通过发信号互相通信。 ... -
C# 取得函数的调用关系
2010-11-25 08:47 1588如何取得C ... -
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
2010-11-18 09:47 91334iis7.0官方安装包下载 iis7时微软为新一代web服务 ... -
简易的文件磁盘管理操作2(文件、文件夹的编辑创建删除移动拷贝重命名)
2010-11-15 17:22 912using System; using System.Dat ... -
简易的文件磁盘管理操作1(文件、文件夹的编辑创建删除移动拷贝重命名)
2010-11-15 17:21 983using System; using System.D ... -
Image和byte[]之间的转换
2010-11-11 17:05 1224image到byte[] 用到memoryStream类 ... -
.net framework--程序打包--打包.net运行库
2010-10-17 21:05 1693VS03默认是不能把.net运行库打包到自己要发布 ... -
WinForm最简单两GridView同步滚动
2010-09-10 10:28 1676今天在园子里看到一个人问,如何让两个DataGridView保 ... -
直接用aspx页面生成的html文件(不用建立自己的html模板)
2010-09-10 09:29 1418public static string Rend ... -
facebook代理软件
2010-09-09 16:32 203facebook代理软件
相关推荐
- **ASP.NET Core**:微软发布的一个免费开源框架,用于构建跨平台的现代Web应用程序。它支持开发各种类型的应用程序,包括网页应用、API服务等。 - **Azure**:微软提供的云平台,提供了一系列工具和服务,帮助...
在这个"MVC+ASP.NET 博客系统"中,我们将探讨如何使用这两者构建一个高效且易于维护的博客平台。 1. **MVC模式** - **模型(Model)**:负责处理业务逻辑和数据操作。在博客系统中,模型可能包括文章管理、用户...
ASP.NET是一种由微软开发的服务器端Web应用程序框架,用于构建动态网站、Web应用程序和服务。它构建在.NET Framework之上,提供了一种高效、安全且可扩展的方式来构建Web解决方案。本资源包含的是ASP.NET常用代码...
21. IIS配置:在IIS上部署ASP.NET应用程序,进行网站配置和管理。 22. 高可用性与负载均衡:了解如何实现多服务器部署,提高应用的可用性和响应速度。 23. 监控与性能分析:使用性能计数器、Application Insights等...
14. **部署与发布**:了解如何在IIS上配置和部署ASP.NET应用程序,以及使用Visual Studio的发布工具进行部署。 通过“ASP.NET学习大全(整理)”中的资料,开发者可以深入学习这些关键概念,并通过实例代码提升自己的...
ASP.NET是一种由微软开发的服务器端Web应用程序框架,主要用于构建动态网站、Web应用程序和Web服务。在本场景中,我们关注的是"asp.net注册登录页面",这是一个基础但至关重要的功能,用于用户账户管理和安全访问...
ASP.NET登录模块是Web应用程序开发中的关键组成部分,它允许用户进行身份验证并控制对网站资源的访问。在ASP.NET框架中,内置的安全机制为开发者提供了创建安全登录功能的强大工具。以下是对这个登录模块实例的详细...
ASP.NET是由微软开发的一种服务器端Web应用程序框架,用于构建动态网站、Web应用程序和Web服务。它基于.NET Framework,提供了一种高效、安全且易于维护的平台,用于开发各种复杂的Web应用程序。ASP.NET的核心组件...
总的来说,ASP.NET Identity数据库的创建是ASP.NET应用程序中不可或缺的一部分,特别是在涉及用户管理、权限控制和安全性的场景下。正确地使用SQL脚本来构建这个数据库将确保ASP.NET Identity能够顺利工作,并为用户...
ASP.NET CMS程序 Kentico CMS v1.3b 是一个基于微软.NET Framework开发的内容管理系统(CMS),主要用于构建企业级的网站和应用程序。这个压缩包包含了Kentico CMS的一个早期版本,即v1.3b,用于帮助开发者了解早期...
在这个“ASP.NET开发网上图书订阅系统的设计”项目中,我们将探讨如何利用ASP.NET技术来创建一个高效、用户友好的在线图书订阅平台。 首先,该系统的前端界面设计是关键,它需要提供清晰的导航、直观的用户交互以及...
- **IIS服务器支持**:作为.NET应用程序,EnjooSiteCMS需要IIS或兼容IIS的Web服务器进行运行。 - **数据库配置**:安装过程中需配置数据库连接,如SQL Server或MySQL,存储网站内容和设置。 5. **开发与扩展** -...
ASP.NET MVC 5 是微软开发的一个用于构建高效、可测试和可维护的Web应用程序的框架。它基于Model-View-Controller(MVC)设计模式,该模式强调将业务逻辑、数据处理和用户界面分离,从而提高代码的可读性和可维护性...
ASP.NET是微软公司推出的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了丰富的功能和工具,简化了Web应用程序的开发过程。本项目"ASP.NET《数据库原理及应用技术》课程指导平台的开发"显然是...
ASP.NET 是一种由微软开发的开源Web应用程序框架,主要用于构建动态网站、Web应用程序和Web服务。这个名为"ASP.NET源码——[CMS程序]DotNetNuke中文安装包 04.06.02.zip"的压缩包,提供的是一个基于ASP.NET平台的...
ASP.NET 2.0是微软开发的一个用于构建Web应用程序的框架,它是在ASP.NET 1.x的基础上进行的重大升级。Web2.0则是互联网发展的一个阶段,强调用户交互性、社区化和富互联网应用(RIA)。这个"ASP.NET2.0的Web2.0PPT...
ASP.NET是由微软开发的一种服务器端Web应用程序框架,用于构建动态网站、Web应用程序和服务。它基于.NET Framework,提供了丰富的功能和高效性能,支持多种编程语言,如C#、VB.NET等。ASP.NET的核心优势在于其内置的...
【校友录系统(ASP.NET 3.5实现)】 校友录系统是一种在线平台,用于连接和管理曾经在同一所学校...通过合理的设计和开发,可以创建一个功能齐全、用户体验良好、安全可靠的校友录平台,连接并增强校友之间的联系。