回答編集履歴
7
加筆修正
answer
CHANGED
@@ -37,3 +37,7 @@
|
|
37
37
|
・・・と、あくまでドキュメントなどから総合的にひねり出したもので、
|
38
38
|
一切コーディングしてないからてきとーですみません。
|
39
39
|
|
40
|
+
Qiitaさんの記事、日本語訳があるので、
|
41
|
+
こちらもどうぞ。
|
42
|
+
[4, Facebook API 公式ドキュメント翻訳 PHP SDK について - Qiita](http://qiita.com/AtsukiTak/items/dfadaaea45df8007f801)
|
43
|
+
(4番だけじゃなく1~4全部。)
|
6
見直し
answer
CHANGED
@@ -1,30 +1,39 @@
|
|
1
|
-
|
1
|
+
これまでのコメントのやり取りを踏まえて、
|
2
|
-
|
2
|
+
全面的に書き直しますことをお許し下さい。
|
3
3
|
|
4
|
-
[Photo Upload with Graph API](https://developers.facebook.com/docs/graph-api/photo-uploads)
|
5
|
-
|
4
|
+
複数画像を伴ったアップロード方法の実装例を2つ見つけましたが、
|
5
|
+
どちらもAPIバージョンが古そうです。
|
6
6
|
|
7
|
+
[PHPで複数の画像をfacebookに投稿する方法 - [facebook/Webサービス] ぺんたん info](http://pentan.info/web_service/facebook/php_image_albums.html)
|
7
|
-
|
8
|
+
[Facebook 3枚連続で画像投稿するよ(PHP) | Tips Note by TAM](https://www.tam-tam.co.jp/tipsnote/program/post114.html)
|
8
9
|
|
10
|
+
共通して言えるのは、
|
11
|
+
・まずアルバムを作り、アルバムのidを取得する。
|
9
|
-
|
12
|
+
・アルバムのidをエンドポイントに使ってファイルアップロードのポストをする。
|
10
|
-
|
13
|
+
という流れのようです。
|
11
14
|
|
15
|
+
手順の中で使用するアクセストークンについては、
|
16
|
+
[アクセストークン - Facebookログイン](https://developers.facebook.com/docs/facebook-login/access-tokens/)
|
17
|
+
に詳しい解説があり、ユーザー用のアクセストークンとページ用のアクセストークンは別だそうです。
|
18
|
+
PHPからアクセストークンを取得する方法については、
|
19
|
+
[Facebookでログイン - ウェブSDK](https://developers.facebook.com/docs/php/howto/example_facebook_login#fbcallback)
|
12
|
-
|
20
|
+
にサンプルコードがあります。
|
13
21
|
|
14
|
-
|
22
|
+
アルバムの作成は、
|
23
|
+
[Graph API Reference: Album /album-id](https://developers.facebook.com/docs/graph-api/reference/v2.9/album)
|
24
|
+
[User Albums](https://developers.facebook.com/docs/graph-api/reference/user/albums)
|
15
|
-
|
25
|
+
を見るとエンドポイントは`'/{user-id}/albums'`っぽいですが、
|
16
|
-
|
26
|
+
アクセストークンを取得したあとなら`'/me/albums'`でも良かったりしないかな。
|
17
27
|
```
|
18
|
-
でなく
|
19
|
-
```php
|
20
|
-
foreach($img_array as $img) {
|
21
|
-
|
28
|
+
$response = $fb->post('/me/albums', ['name' => 'アルバム名', 'message' => 'アルバムの説明']);
|
22
|
-
}
|
23
|
-
$post['attached_media'] = $media;
|
24
29
|
```
|
25
|
-
とか
|
30
|
+
とか。
|
26
|
-
|
31
|
+
$response->idにアルバムidが得られるはず。
|
27
|
-
アップロード済みのを添付するために、attached_mediaなのかなと推察。
|
28
32
|
|
33
|
+
写真のアップロードは、
|
29
|
-
|
34
|
+
エンドポイントを`'/アルバムid/photos'`として
|
35
|
+
アップロードしたいファイルの数だけ繰り返しアップロードすればよし。
|
30
36
|
|
37
|
+
・・・と、あくまでドキュメントなどから総合的にひねり出したもので、
|
38
|
+
一切コーディングしてないからてきとーですみません。
|
39
|
+
|
5
誤字の訂正
answer
CHANGED
File without changes
|
4
見直し
answer
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
でなく
|
19
19
|
```php
|
20
20
|
foreach($img_array as $img) {
|
21
|
-
$media[] = $facebook->fileToUpload($img);
|
21
|
+
$media[] = '{"media_fbid":"' . $facebook->fileToUpload($img) . '"}';
|
22
22
|
}
|
23
23
|
$post['attached_media'] = $media;
|
24
24
|
```
|
3
加筆修正
answer
CHANGED
@@ -26,5 +26,5 @@
|
|
26
26
|
sourceとしないのは、もう既にファイルはアップロード済みだから、
|
27
27
|
アップロード済みのを添付するために、attached_mediaなのかなと推察。
|
28
28
|
|
29
|
-
(ドキュメントを見ているだけで、実際に動かしたことはありません。あしからず)
|
29
|
+
(ドキュメントを見ているだけで、実際に動かしたことはありません。あしからず。実装経験者さんからのアドバイスが付くことをお祈り申し上げます。)
|
30
30
|
|
2
加筆修正
answer
CHANGED
@@ -5,6 +5,26 @@
|
|
5
5
|
Publishing a multi-photo story
|
6
6
|
|
7
7
|
も参照すると、
|
8
|
+
|
8
9
|
0. 必要なファイルを一つずつファイルアップロードし、media_fbidを記録しておく。
|
9
10
|
0. 記録しておいたmedia_fbidを元にphoto storyとしてまとめるrequestを送信。
|
11
|
+
|
10
|
-
みたいに見えますね。
|
12
|
+
みたいに見えますね。
|
13
|
+
|
14
|
+
```php
|
15
|
+
$Img_src=implode(",", $img_array);
|
16
|
+
$post['source']= $facebook->fileToUpload($Img_src);
|
17
|
+
```
|
18
|
+
でなく
|
19
|
+
```php
|
20
|
+
foreach($img_array as $img) {
|
21
|
+
$media[] = $facebook->fileToUpload($img);
|
22
|
+
}
|
23
|
+
$post['attached_media'] = $media;
|
24
|
+
```
|
25
|
+
とかやってfileToUpload()のリターン値を保持したものを次のpost()に流用するような。
|
26
|
+
sourceとしないのは、もう既にファイルはアップロード済みだから、
|
27
|
+
アップロード済みのを添付するために、attached_mediaなのかなと推察。
|
28
|
+
|
29
|
+
(ドキュメントを見ているだけで、実際に動かしたことはありません。あしからず)
|
30
|
+
|
1
加筆修正
answer
CHANGED
@@ -1,3 +1,10 @@
|
|
1
1
|
[ユーザープロフィールへの写真のアップロード](https://developers.facebook.com/docs/php/howto/example_upload_photo)
|
2
2
|
を見ると、ファイル単品のアップロードが想定されているfileToUpload()ではないかと思われます。
|
3
|
+
|
4
|
+
[Photo Upload with Graph API](https://developers.facebook.com/docs/graph-api/photo-uploads)
|
3
|
-
|
5
|
+
Publishing a multi-photo story
|
6
|
+
|
7
|
+
も参照すると、
|
8
|
+
0. 必要なファイルを一つずつファイルアップロードし、media_fbidを記録しておく。
|
9
|
+
0. 記録しておいたmedia_fbidを元にphoto storyとしてまとめるrequestを送信。
|
10
|
+
みたいに見えますね。
|