4

Facebook API を使用して、ユーザーが友人を自分のサイトに「招待」できるようにする Web サイトがあります。これらの友人は、Facebook でアプリへの招待を受け取り、クリックして受け入れると、私のサイトのページが iFrame 内 (Facebook 内) で開きます。

それはそれでいいのですが、URL に参照 ID を追加したいと思います。だから、誰から招待されたのかわかります。

キャンバス URL に (動的) パラメータを追加することは可能ですか??

これを行う方法を見つけることができませんでした。

(私はJSライブラリを使用しています)。

4

3 に答える 3

3

キャンバス ページに複数のパラメーターを渡すことができます。これがあなたや@JonCanningにとって機能しない理由がよくわかりません。https://apps.facebook.com/MY-APP?param1=x¶m2=y¶m3=zに正常にリダイレクトし、iframe にロードされたコード内でそれらを取得できます。

ただし、招待に apprequests を使用する場合はリクエスト URL を操作できないため、リクエスト URL をどのように操作する予定かわかりません。これはウォールポスト機構ですか?

ただし、招待に apprequests を使用している場合は、オプションの「データ」パラメーターを渡すことができます。これは、任意の JSON または単純な文字列にすることができます。受信者が招待をクリックすると、Facebook からのリクエスト リダイレクタに「request_id」パラメータが提供されます。例: http:YOUR-INVITE-REDIRECT-URL?request_ids=REQUEST_ID。同じアプリから複数の招待がユーザーに送信された場合、request_ids をカンマ区切りのリストとして取得します。リクエストの facebook グラフ API エンドポイントにコールバックし、渡した「データ」パラメータを含む、リクエストのすべての情報を取得できます。リクエスト自体にすべてのデータを埋め込んでいるので、これはうまくいくかもしれません。

ダイアログの詳細はこちら: https://developers.facebook.com/docs/reference/dialogs/requests/

于 2012-05-30T15:23:00.717 に答える
1

アプリの URL に渡される単一のパラメーターが iframe に渡されます

http://apps.facebook.com/app_name/?param=hello

于 2012-05-04T08:16:40.653 に答える
0

@iyerrag の回答に追加するには、キャンバス ハンドラー内からデータ パラメータを取得するには、facebook グラフ API にコールバックする必要があります。この呼び出しは、http クエリで渡された request_ids の 1 つとアクセス トークンを受け取ります。アプリのアクセス トークンを使用できました (このCreation App Tokenのようなものを生成しました)。

返された JSON ドキュメントには、キー 'data' のデータ パラメータで渡した値が含まれています。

Python での要点は次のとおりです。

requestIDStr = self.request.get('request_ids','')
requestIDs = requestIDStr.split(',')
requestID = requestIDs[0]

if requestID:
   url = """https://graph.facebook.com/{}?access_token={}""".format(requestID, fbAccessToken)
   try:
      response = urllib2.urlopen(url)
      responseDoc = response.read()
      jsonResponse = json.loads(responseDoc)
      dataParam = jsonResponse['data']
   except Exception as e: logging.warning('unable to retrieve data param: {}'.format(e) )
于 2014-03-14T21:49:26.577 に答える