2012-09-12 75 views
0

我正在嘗試發佈到粉絲頁面,而不是用戶。發佈爲iOS上的粉絲頁面Facebook SDK 3.0

在舊的SDK上,我只是詢問「我/帳戶」並收到訪問令牌。現在我可以做同樣的事情,但我無法使用該令牌,因爲FBRequest從活動會話中獲取訪問令牌(也是隻讀屬性)。

有誰知道如何創建另一個會話或簡單的FBRequests與頁面令牌?

謝謝!

+1

據https://developers.facebook.com/docs/ reference/api/page /#page_access_tokens在請求訪問令牌時,可以指定您需要manage_pages和publish_stream權限以便作爲頁面發佈。 – deesarus

+0

謝謝,我有access_token,我可以使用它,如果我自己建立NSURLRequest。但我試圖理解如何正確使用FBRequest&FBSession。 – avishic

回答

0

找到了解決辦法,這不是最乾淨的,但它的工作:
注:更新了Facebook的SDK 3.2+

- (void)postAsFanPageWithToken:(NSString *)aFanPageToken { 
    if (self.selectedFanPage == nil) { 
     self.userAccessToken = [FBSession activeSession].accessTokenData.accessToken; 
    } 
    //Using KVC, since it is a readonly property 
    [[FBSession activeSession].accessTokenData setValue:aFanPageToken forKey:@"accessToken"]; 
} 

- (void)postAsMe { 
    if (self.userAccessToken == nil) { 
     return; //Already posting as me 
    } 
    [[FBSession activeSession].accessTokenData setValue:self.userAccessToken forKey:@"accessToken"]; 
    self.userAccessToken = nil; 
} 

// Make sure you cleanup on logout 
- (void)logout { 
    self.userAccessToken = nil; 
    [[FBSession activeSession] closeAndClearTokenInformation]; 
} 
+0

對我來說,它也在工作,但你有沒有找到另一個更好的解決方案? –

+0

不,這有點骯髒的解決方案,但是對於這種情況在他們的新SDK的文檔中沒有提及。 – avishic

+1

@NatanR。如果您使用SDK 3.2或更高版本,請參閱最後一個註釋 – avishic