2015-02-07 83 views
0

我和圖:在地獄裏做的組合。 考慮以下幾點:FB圖訂閱iOS

爲了建立一個FB訂閱我有這樣的方法:

-(void)subscribeToFacebook{ 
    (FBSession.activeSession.isOpen) ? NSLog(@"is open") : NSLog(@"is closed"); 

    NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: 
          @"page", @"object", 
          @"http://www.example.com/fbcallback.php", @"callback_url", 
          @"about, picture", @"fields", 
          @"ItsMeAlright", @"verify_token", 
          nil 
          ]; 
    /* make the API call */ 
    [FBRequestConnection startWithGraphPath:@"/{app-id}/subscriptions" 
           parameters:params 
           HTTPMethod:@"POST" 
          completionHandler:^(
               FBRequestConnection *connection, 
               id result, 
               NSError *error 
              ) { 
           /* handle the result */ 
           NSLog(@"error= %@",error); 
          }]; 
    } 

,我幾乎從字面上FB手動複製。

http://www.example.com/fbcallback.php我有這樣的代碼:

<?php 
$hub_mode = $_GET['hub_mode']; 
$hub_challenge = $_GET['hub_challenge']; 
$hub_verify_token = $_GET['hub_verify_token']; 
if ($hub_verify_token =='ItsMeAlright') 
{ 
    echo $hub_challenge; 
} 
//and here i am planning to add some logic. 
?> 

不幸的是,iOS的運行我的方法,它記錄了以下錯誤:

Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x7e921970 {com.facebook.sdk:ErrorInnerErrorKey=Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo=0x7d7a21a0 {NSUnderlyingError=0x7d4388c0 "unsupported URL", NSLocalizedDescription=unsupported URL}, com.facebook.sdk:HTTPStatusCode=200, com.facebook.sdk:ErrorSessionKey=, expirationDate: 2015-04-07 09:12:48 +0000, refreshDate: 2015-02-07 08:57:41 +0000, attemptedRefreshDate: 0000-12-30 00:00:00 +0000, permissions:( "public_profile", email, "user_friends")>}

那是什麼一回事呢?該錯誤實際上表明,這是一個iOS的東西。我很困惑。希望你不是。

+0

還是應該用我的應用程序ID替換「{app-id}」? – Sjakelien 2015-02-07 09:27:19

+0

這個問題太簡單了嗎?或者你們和加爾實際上慶祝了這個週末? – Sjakelien 2015-02-07 10:26:02

+1

是的,您需要將其替換爲您的應用ID – Wain 2015-02-07 10:31:05

回答

1

所有官方Facebook文檔使用{user-id}{app-id}作爲佔位符。

如果您不想提供應用程序ID並讓API確定使用app。所以,

[FBRequestConnection startWithGraphPath:@"/app/subscriptions"

當在未來的測試,這是最好的開始只是一個光禿禿的骨頭設置單獨的API例如https://developers.facebook.com/tools/explorer/,以便在確定平臺特定實現之前確保API調用正在工作。

+0

謝謝,這非常有用,我真的很困擾Graph。也快捷我如何通過在這個訂閱調用Facebook訪問令牌,我會非常感激。(我知道如何獲得令牌,但沒有線索,但如何將其返回到FB以獲得訂閱工作) – Sjakelien 2015-02-07 11:52:26