4

Graph API Explorer を使用して、アプリから Facebook 通知を送信しようとしています。だから私は自分のアプリ、POSTを選択し、この文字列を/

11093774316/notifications?access_token=430xxxxxx156|HU0ygMtxxxxxxxxxxxxikVKg&template=Hello&href=index.php

アクセス文字列は「アクセス トークン デバッガー」で取得したもので、問題がないことを確認します。

ただし、次のエラー メッセージが表示されます。

{
  "error": {
    "message": "(#15) This method must be called with an app access_token.", 
    "type": "OAuthException", 
    "code": 15
  }
}

私はそれが1ヶ月前に働いていたと思います.何かアイデアはありますか?

ありがとう

4

6 に答える 6

4
  • アプリのシークレットをできるだけ早く変更してください。これらの質問には個人情報を含めないでください
  • 次に、アプリの詳細設定を確認し、アプリの種類を「ネイティブ/デスクトップ」ではなく「Web」に設定します - ネイティブ/デスクトップに設定されている場合、アプリのシークレットは信頼されず、アプリのアクセス トークンを必要とする呼び出し失敗します。
于 2012-10-07T17:38:44.520 に答える
0

Graph エクスプローラーの一番上のフィールドにあるアクセス トークンを変更してみてください。URL には追加しないでください。

Access Token: xxxxxx|YYYYYY

POST: /11093774316/notifications?template=Hello&href=index.php
于 2013-12-20T00:05:53.680 に答える
0

また、グラフ API を使用して通知を投稿しようとしています。最初にアプリの access_token をリクエストすると、適切に返されます。それを行う必要があるように、通知要求のパラメーターとして使用します。それでも、「このメソッドはアプリのaccess_tokenで呼び出す必要があります」という同じエラーメッセージが表示されます...そして、アプリはWebアプリケーションとして構成されています。

最初の5時間は楽しかったけど、ちょっと面倒くさくなってきた…

他のアイデア、世界?お願いします?

編集私は一晩中この問題と戦ってきましたが、翌朝、最終的にあきらめることにしました。この API には私が理解できない問題が確実にあり、どこにも解決策を見つけることができません。

誰かがアイデアを思いついた場合に備えて、私が何をしているのかについてのいくつかの詳細:

Facebook iOS SDK を使用した iOS アプリです。ログイン、承認、友達プロフィールの取得、ウォールへのメッセージの投稿: すべて正常に動作しています。

次に、通知を送信するために、まずアプリ アクセス トークンを取得する要求を送信します。

NSDictionary* parameters = @{@"client_id": [THE APP FACEBOOK ID], @"client_secret" : [THE APP FACEBOOK SECRET], @"grant_type" : @"client_credentials"};

NSURL* feedURL = [NSURL URLWithString:@"https://graph.facebook.com/oauth/access_token"];

SLRequest *feedRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:feedURL parameters:parameters];
feedRequest.account = self.account;
[feedRequest performRequestWithHandler ... ]

リクエストの回答:

NSString* tokenString = [[NSString alloc]  initWithBytes:[responseData bytes] length:[responseData length] encoding: NSUTF8StringEncoding];
NSArray* chunks = [tokenString componentsSeparatedByString: @"="];
NSString* appAccessToken = [chunks objectAtIndex:1];

NSLog(@"appAccessToken '%@'", appAccessToken);

それは期待どおりに機能するようです。私は得る:

appAccessToken '1309[HIDDEN]|-eta-nuWz[HIDDEN]'

今、私は通知を投稿しようとします

NSDictionary* parameters = @{@"href": [myHref absoluteString], @"access_token" : appAccessToken, @"template" : myMessage};
NSURL* feedURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/notifications", theRecipientFacebookId];
SLRequest* feedRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodPOST URL:feedURL parameters:parameters];
    feedRequest.account = self.account;
    [feedRequest performRequestWithHandler: ... ]

残念ながら、私はこれを取得し続けます:

error =     {
    code = 15;
    message = "(#15) This method must be called with an app access_token.";
    type = OAuthException;
};

それは本当に私を夢中にさせています....

于 2013-04-28T03:07:01.770 に答える
0

あなたの設定に移動します => 基本 => アプリの秘密 そしてそのキーを秘密鍵に使用してから、私たちを使用します

于 2018-03-04T11:11:50.720 に答える