YammerSDK 2.0.0

YammerSDK 2.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年11月

Peter WillseyJoel KlaboDave Weston 维护。



 
依赖
AFNetworking~> 2.0
SSKeychain>= 0
 

YammerSDK 2.0.0

  • Yammer

Yammer SDK 和样例 iOS 应用

简介

Yammer API 为第三方应用开发者开放 Yammer 网络。此 SDK 为 iOS 开发者提供将 Yammer 功能集成到移动应用中所需的代码。示例应用演示了以下步骤:

  1. 允许用户通过模态显示的网页视图登录 Yammer 网络
  2. 获取 authToken 并将其存储到 iOS 密钥链中
  3. 使用该 authToken 对所有后续调用 Yammer API

为了提供此功能,必须进行一些设置。

SDK 集成

SDK 已打包为 CocoaPod。您可以通过安装 CocoaPods、创建 Podfile 并指定要包括 YammerSDK pod 来将 SDK 包含到您的项目中。第一步是使用: sudo gem install cocoapods 安装 CocoaPods

然后创建一个名为 Podfile 的文件,并将其添加到项目的目录中,使用文本编辑器打开它,并添加以下行

platform :ios, '7.0'

target 'YOURTARGET' do

pod 'YammerSDK'

end

然后在项目的文件夹中从命令行输入 pod install。从现在起,您应从 CocoaPods 创建的 .xcworkspace 文件中打开您的项目。

Swift 集成

在 Swift 项目中使用 YammerSDK CocoaPod 非常简单。除了上述步骤外,您还需要创建一个 Objective-C 桥接头并导入 YammerSDK。

在 Xcode 中,转到 File->New,然后在显示的对话框中转到 source 并选择 header file。将文件命名为 YourProjectName-Bridging-Header.h 并注意文件路径。

在项目的构建设置中,转到 "Swift Compiler - Code Generation" 部分并更改 "Objective-C Bridging Header" 属性,使其指向您的桥接头。请注意,您的桥接头的路径相对于项目的根目录,您不需要指定项目的路径。您的桥接头应类似于以下内容

#ifndef test_Bridging_Header_h
#define test_Bridging_Header_h

#import "YammerSDK/YMAPIClient.h"
#import "YammerSDK/YMLoginClient.h"

#endif

应用设置

步骤 1) 在此处创建 Yammer 应用:https://www.yammer.com/client_applications

步骤 2) 作为步骤 1 的应用程序设置的一部分,将重定向 URI 设置为自定义 URI 模式。这必须对于您的 iOS 应用是唯一的。以下是一个示例:comabccorpyammer1://our.custom.uri
确保方案名称(在本例中为 "comabccorpyammer1")对您的公司和iOS应用是唯一的。

步骤3) 在应用的app delegate中的application:didFinishLaunchingWithOptions:方法中添加以下行,使用来自Yammer客户端应用的值。

Objective-C

/* Add your client ID here */
[[YMLoginClient sharedInstance] setAppClientID:@"APP CLIENT ID"];

/* Add your client secret here */
[[YMLoginClient sharedInstance] setAppClientSecret:@"APP CLIENT SECRET"];

/* Add your authorization redirect URI here */
[[YMLoginClient sharedInstance] setAuthRedirectURI:@"AUTH REDIRECT URI"];

Swift

/* Add your client ID here */
YMLoginClient.sharedInstance().appClientID = "APP CLIENT ID"

/* Add your client secret here */
YMLoginClient.sharedInstance().appClientSecret = "APP CLIENT SECRET"

/* Add your authorization redirect URI here */
YMLoginClient.sharedInstance().authRedirectURI = "AUTH REDIRECT URI"

步骤4) 查看 YMSampleHomeViewController.m,了解Yammer API调用和用户认证的典型工作流程。从attemptYammerApiCall方法开始。这模拟了您通常在应用中访问Yammer API时所做的操作。代码首先确定authToken是否已经存在于密钥链中。如果是,它将使用authToken进行API调用。如果没有,它将启动登录过程。

登录代码位于YMLoginClient.m中,并从startLoginWithContextViewController:方法开始。

登录过程

-[YMLoginClient startLoginWithContextViewController:]将在您选择的上下文视图控制器中模态呈现Yammer SSO流程。WebView将以类似以下这样的URL启动:https://www.yammer.com/dialog/oauth?client_id=<your_client_id>&redirect_uri=<your_redirect_uri>
这会显示登录页面,用户可以输入他们的凭证。在他们输入电子邮件地址和密码后,他们会被展示一个页面,允许他们返回到应用,那里的其余认证过程在幕后进行。

一旦重定向方法成功完成,authToken将从返回的JSON中提取并存储在密钥链中。所有后续对Yammer API的调用都将使用此authToken作为系统的键。