FB 图订阅 iOS
FB Graph subscription iOS
Me 和 Graph:天造地设的组合。
考虑以下因素:
为了建立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 的事情。我很困惑。希望你不是。
所有 Facebook 官方文档都使用 {user-id}
、{app-id}
作为占位符。
如果您不想提供应用程序 ID 并让 API 确定它,请使用 app
。所以,
[FBRequestConnection startWithGraphPath:@"/app/subscriptions"
以后进行测试时,最好从 API 一个简单的骨架设置开始,例如https://developers.facebook.com/tools/explorer/ 这样您就可以确保 API 调用在进行特定于平台的实现之前正常工作。
Me 和 Graph:天造地设的组合。 考虑以下因素:
为了建立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 的事情。我很困惑。希望你不是。
所有 Facebook 官方文档都使用 {user-id}
、{app-id}
作为占位符。
如果您不想提供应用程序 ID 并让 API 确定它,请使用 app
。所以,
[FBRequestConnection startWithGraphPath:@"/app/subscriptions"
以后进行测试时,最好从 API 一个简单的骨架设置开始,例如https://developers.facebook.com/tools/explorer/ 这样您就可以确保 API 调用在进行特定于平台的实现之前正常工作。