9

ネイティブ iOS アプリをテストしようとしていますが、テスト ユーザーに大きな問題が発生しています。基本的に、テスト ユーザーを作成する通常のグラフ ベースの方法は、ネイティブ アプリでは機能しないようです。試してみると、サーバーから次の応答が返されました。

{
    "error": {
        "message": "(#15) This method is not supported for native apps",
        "type": "OAuthException",
        "code": 15
    }
}

これは、SO のさまざまな投稿と古い FB フォーラムのページでサポートされているようです。

http://forum.developers.facebook.net/viewtopic.php?id=93086

ネイティブ アプリのテスト ユーザーを作成する唯一の方法は、FB で適切な偽のアカウントを作成することであると人々は言いますが、これは FB の利用規約に違反しています。これは本当に私の唯一のオプションですか?FB 開発者がネイティブ アプリのテスト アカウントをサポートできないなんて信じられません。

ネイティブアプリのテストユーザーを作成する合法的な方法を知っている人はいますか?

4

5 に答える 5

1

テストユーザー向けの開発者向けドキュメントの上部には、テストユーザーを維持するためのGUIも記載されています。

プログラムでテストユーザーを管理するための以下で説明するグラフAPI機能に加えて、以下のスクリーンショットに示すように、アプリの[役割]ページで利用できるシンプルなGUIも開発者アプリにあります。このドキュメントで説明されているすべてのAPI関数を公開しています。

なんらかの理由で、アプリの「アプリの種類」([設定]-> [詳細設定]の下)がネイティブ/デスクトップの場合、GraphAPI呼び出しは使用できません。ただし、代わりにGUIを使用できます。

于 2012-12-12T15:11:45.083 に答える
0

以下の関数を呼び出すことで、アプリの新しい facebook テスト ユーザーを作成できます。

アプリ ID を使用してください (アプリの ID を取得するには、このリンクにアクセスしてください: https://developers.facebook.com/apps )

Facebook でアプリにアクセスして、アプリ シークレット ID を取得してください。

-(void)createNewUser{
NSString *appID=@"Past your App ID"
NSString *appSecret=@"Past your App secret"
NSDictionary *params = @{
                             @"true": @"installed",
                             @"access_token": @"appID|appSecret",
                             };



    NSString *path = [NSString stringWithFormat:@"/appID/accounts/test-users"];

    /* make the API call */
    [FBRequestConnection startWithGraphPath:path   
                                 parameters:params
                                 HTTPMethod:@"POST"
                          completionHandler:^(
                                              FBRequestConnection *connection,
                                              id result,
                                              NSError *error
                                              )
     {

         if (result  && !error)
         {
             NSLog(@"Test-User created successfully: %@", result);
         }
         else
         {
             NSLog(@"Error creating test-user: %@", error);
             NSLog(@"Result Error: %@", result);
         }

     }];
}

アプリ シークレット ID を誰にも公開しないようにしてください。また、そのようにハードコードされたアプリに含めないでください。

それが役に立てば幸い

于 2015-05-02T23:58:01.593 に答える
0

Facebook iOS SDK v4.1.0 を使用すると、次のように動作します。

// Listed as "App ID": https://developers.facebook.com/apps/
NSString *facebookAppId = @"1234_REPLACE_ME_5678";
// Listed as "App Token": https://developers.facebook.com/tools/accesstoken/
NSString *facebookAppToken = @"ABCD_REPLACE_ME_1234";

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
        initWithGraphPath:[NSString stringWithFormat:@"/%@/accounts/test-users", 
                          facebookAppId]
               parameters:@{@"installed" : @"true"}
              tokenString:facebookAppToken
                  version:@"v2.3"
               HTTPMethod:@"POST"];

[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
        NSDictionary *testUser,
        NSError *facebookError) {
    if (facebookError) {
        NSLog(@"Error creating test user: %@", facebookError);
    } else {
        NSLog(@"access_token=%@", testUser[@"access_token"]);
        NSLog(@"email=%@", testUser[@"email"]);
        NSLog(@"user_id=%@", testUser[@"id"]);
        NSLog(@"login_url=%@", testUser[@"login_url"]);
        NSLog(@"password=%@", testUser[@"password"]);
    }
}];

成功すると、出力は次のようになります。

access_token=CACQSQXq3KKYeahRightYouDontGetToLookAtMyAccessTokenspBkJJK16FHUPBTCKIauNO8wZDZD
email=aqhndli_huisen_1430877783@tfbnw.net
user_id=1384478845215781
login_url=https://developers.facebook.com/checkpoint/test-user-login/1384478845215781/
password=1644747383820
于 2015-05-06T02:07:57.663 に答える
-1

Facebook のテスト ユーザー API https://developers.facebook.com/docs/test_users/を使用してテスト ユーザーを作成できますが、必ず同じアプリ ID を使用してください。

APP_ID と APP_SECRET を指定すると、次のように APP_ACCESS_TOKEN が得られます。

curl -vv 'https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=client_credentials'

次に、トークンを使用してテスト ユーザーを作成できます。

curl 'https://graph.facebook.com/APP_ID/accounts/test-users?installed=true&name=NEW_USER_NAME&locale=en_US&permissions=read_stream&method=post&access_token=APP_ACCESS_TOKEN

このコマンドへの応答本文には、新しいユーザーの電子メールとパスワードが含まれます。

于 2012-08-21T18:41:42.627 に答える