测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2015年11月 |
由 Peter Willsey,Joel Klabo,Dave Weston 维护。
依赖 | |
AFNetworking | ~> 2.0 |
SSKeychain | >= 0 |
Yammer API 为第三方应用开发者开放 Yammer 网络。此 SDK 为 iOS 开发者提供将 Yammer 功能集成到移动应用中所需的代码。示例应用演示了以下步骤:
为了提供此功能,必须进行一些设置。
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作为系统的键。