[英]read and publish permission in facebook sdk 3.0 iOS
在最后一個SDK中,讀取和發布權限是分開的。 因此,在我的代碼中,每當用戶登錄時,我都會使用以下代碼:
[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:
^(FBSession *session,
FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
我在facebook開發人員中看到,當我要發布時,我應該要求發布權限,如下所示:
// can include any of the "publish" or "manage" permissions
NSArray *permissions =
[NSArray arrayWithObjects:@"publish_actions", nil];
[[FBSession activeSession] reauthorizeWithPublishPermissions:permissions
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
/* handle success + failure in block */
}];
由於這是我使用Facebook集成的第一個應用程序,因此我想問幾件事:
1)這些會話可以同時打開嗎? 我只會在用戶想要發布時才請求發布權限,但是我應該在其他會話中執行其他操作嗎? 喜歡先關閉它,然后再重新打開它,否則我不必擔心嗎?
2)例如,如果我有一個postToFriends按鈕,那么使它工作的偽代碼就是這樣,對嗎?
- (IBAction)postToFriendaction:(id)sender {
if (!FBSession.activeSession.isOpen) {
/* code from the above for enabling publish permissions*/
}
否則我應該將!FBSession.activeSession.isOpen更改為其他內容,因為沒有用戶僅以讀取權限登錄,因此他永遠不會輸入if子句。 你能幫助我嗎?
您所指的兩個會話實際上是同一會話(這是在調用openActiveSession ...之后靜態可用的“活動”會話)。 因此,您無需在其他會話中做任何事情。
您應該查看SDK附帶的Scrumptious或Hello Facebook示例應用程序。 他們倆都提供了有關如何發布(在請求發布權限時)的示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.