私は自分のウェブサイト上のユーザーの統計情報から画像を生成し、送信された電子メールに埋め込まれたコードを表示するように設定しています。この画像をFacebookにアップロードするオプションを追加したいと思いますが、これを行う最善の方法(ある場合)を理解することに問題があります。画像をFacebookからメールで送信
私のコードは、PHP GDイメージライブラリを使用して統計情報を取得し、イメージを作成し、ファイルをサーバに保存します。また、画像フォルダを空にするcronジョブを設定して、メールを開くと画像が再び作成されるため、画像を表示する必要があるときだけ画像が存在するようにします。
私はPHPで生成された画像を下のFacebook共有者のURLに送信できることを認識しています。
http://facebook.com/sharer/sharer.php?u=http://example.com/image.png
問題は、画像自体をFacebookにアップロードするのではなく、画像URLを共有することです。サーバーは毎日拭き取られるので、URLは一貫して存在せず、共有されてから1日後にアクセスできなくなります。
私は、Graph API via a urlを使用するなどのオプションがあることがわかりますが、これは電子メールだけでセットアップできるかどうかはわかりません。私の電子メールクライアントはHTMLの使用のみを許可するように見えるので、私は使用できるオプションが限られています。また、1人の画像をアップロードするように他の人に依頼することはたくさんあるユーザーの許可が必要なようです。
共有の目的で、ユーザーがメールからFacebookに画像をアップロードできるようにするにはどうすればよいですか?
あなたのアプリにログインして追加の権限を与えることなく、ユーザーが共有できるようにするには、Open Graphメタタグを使用して画像を埋め込むリンクを共有するのが最も簡単な方法です。これはすべてダイナミックにすることができます - OGメタデータを出力するスクリプト、渡されたGETパラメータ、および画像の作成にも依存します(同じ画像URLが常に適切な画像を返す限り、サーバーに保存されているか、毎回オンザフライで作成されていますか?) – CBroe
イメージは電子メールからのランダムなURLで生成されるため、事前にどのようになるかはわかりません。作成した画像をスクリプトに送ってOGメタを生成し、それを最初のFacebookのアップロードに使用することはできますが、画像は削除されてももう動作しませんか?たとえば、次の日に戻った場合、使用されたイメージには何も指していないURLがありません。 Facebookはこれを防止するために画像をキャッシュしていますか、画像がまだアップロードされているかどうかにかかわらず常に同じようにアップロードされますか? – cul8r
ある時点で、イメージURLを作成する必要がありますか?電子メールは魔法のようにコンテンツ自体を変更するものではありません。あなたが言ったように、メールでそれを見ると、それは再び作成されますか? // Facebookは自分のCDNに画像のコピーを作成します。しかし、彼らはすべてのオブジェクトを定期的に再掻き集めるでしょう、そして、あなたのイメージがそれが起こったときに "欠落"しているなら、FBがそれを処理しません。 – CBroe