用C++ REST SDK连接脸谱网

你好,我是C++ QA小组的Andy Rich。 以前 ,我向你展示了如何使用 C++ REST API 连接到实时服务,但这只是可以使用restapi的众多web服务之一。  在这篇博文中,我将引导您创建一个windows8商店应用程序,该应用程序将用户登录到Facebook,并下载和显示他们的相册。

null

设置Facebook开发者帐户

为了开发Facebook的应用程序,你需要有一个真实的Facebook帐户,并注册成为他们平台上的开发者,你可以通过访问 http://developers.facebook.com .

一旦您注册为开发人员,您需要通过单击顶部栏中的“应用程序”并选择“创建新应用程序”来创建应用程序标识。  给你的应用程序起个名字,但是现在不要担心设置任何其他参数。  单击“保存更改”,您的应用程序将被创建。

你还应该将你的应用程序设置为“桌面”应用程序,这将减少你的用户需要登录的频率。  为此,请在应用程序设置下选择“高级”,将应用程序类型更改为“本机/桌面”,并将“客户端中的应用程序机密”设置为“否”,然后单击“保存更改”按钮。

最后,转到“基本设置”页,记下应用程序的app ID/API密钥(后称为)和应用程序密码(后称为)。  在今后的步骤中,我们将需要这些价值观。

为了这篇文章的目的,我们将创建一个抽象来处理与Facebook的通信,一个Facebooku客户端类:

//脸谱网.h

#布拉格马 一旦

#包括 <字符串>

#包括

#包括

facebooku客户端 {

公众的 :

静止的 facebooku客户端 &实例(); //单子

pplx:: 任务 < 无效 >登录(标准: 垫圈 范围);

pplx:: 任务 价值 >获取(标准: 垫圈 路径);

web::http:: uriu生成器 基本uri( 布尔 绝对= );

私有的 :

facebooku客户端():

原始客户(L) “https://graph.facebook.com/” ),

已登录( ) {}

pplx:: 任务 < 无效 >完全登录(标准: 垫圈 范围);

标准: 垫圈 代币;

布尔 签到;

web::http::客户端:: httpU客户端 原始客户机;

};

因为我们的应用程序只需要这个类的一个实例,所以我们采用了singleton模式,并将构造函数设置为私有的。  这确保了客户端可以从任何地方访问,并且客户端的多个实例不会通过我们的应用程序激增。

下面几节将介绍这个类的实现。  以下各节中的代码假定实现文件具有以下using声明:

使用 命名空间 pplx;

使用 命名空间 网状物;

使用 命名空间 平台;

使用 命名空间 Windows::基础;

使用 命名空间 Windows::Security::Authentication::Web;

使用 命名空间 Windows::存储;

instance()方法的实现使用 梅耶氏单胞胎 :

facebooku客户端 & facebooku客户端 ::实例()

{

静止的 facebooku客户端 c类;

返回 c类;

}

登录Facebook

像许多流行的服务一样,Facebook使用 OAuth公司 执行用户登录。  对于Windows应用商店应用程序,开发人员应该使用 WebAuthenticationBroker 协商OAuth登录。  此API提供了一个可信任的对话框,供用户同意将应用程序连接到授权服务,该服务在所有Windows应用商店应用程序中都是一致的。  此对话框将引导通过Facebook的 桌面应用程序登录 .

以下代码将为用户提供一个登录Facebook的对话框:

pplx:: 任务 < 无效 > facebooku客户端 *完全登录(std:: 垫圈 范围 )

{

http:: uriu生成器 登录uri(L) “https://www.facebook.com/dialog/oauth” );

登录 uri。附加查询(L) “客户端id” ,左 ); //应用程序id

登录 uri。附加查询(L) “重定向u uri” ,左 “https://www.facebook.com/connect/login_success.html” );

登录 uri。附加查询(L) “范围” , 范围 );

登录 uri。附加查询(L) “显示” ,左 “弹出窗口” );

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享