回答編集履歴

7

加筆修正

2017/05/05 12:37

投稿

退会済みユーザー
test CHANGED
@@ -76,4 +76,10 @@
76
76
 
77
77
 
78
78
 
79
+ Qiitaさんの記事、日本語訳があるので、
79
80
 
81
+ こちらもどうぞ。
82
+
83
+ [4, Facebook API 公式ドキュメント翻訳 PHP SDK について - Qiita](http://qiita.com/AtsukiTak/items/dfadaaea45df8007f801)
84
+
85
+ (4番だけじゃなく1~4全部。)

6

見直し

2017/05/05 12:37

投稿

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

5

誤字の訂正

2017/05/05 12:34

投稿

退会済みユーザー
test CHANGED
File without changes

4

見直し

2017/05/05 07:32

投稿

退会済みユーザー
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  foreach($img_array as $img) {
40
40
 
41
- $media[] = $facebook->fileToUpload($img);
41
+ $media[] = '{"media_fbid":"' . $facebook->fileToUpload($img) . '"}';
42
42
 
43
43
  }
44
44
 

3

加筆修正

2017/05/05 07:29

投稿

退会済みユーザー
test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
 
56
56
 
57
- (ドキュメントを見ているだけで、実際に動かしたことはありません。あしからず)
57
+ (ドキュメントを見ているだけで、実際に動かしたことはありません。あしからず。実装経験者さんからのアドバイスが付くことをお祈り申し上げます。
58
58
 
59
59
 
60
60
 

2

加筆修正

2017/05/05 07:27

投稿

退会済みユーザー
test CHANGED
@@ -12,8 +12,50 @@
12
12
 
13
13
  も参照すると、
14
14
 
15
+
16
+
15
17
  0. 必要なファイルを一つずつファイルアップロードし、media_fbidを記録しておく。
16
18
 
17
19
  0. 記録しておいたmedia_fbidを元にphoto storyとしてまとめるrequestを送信。
18
20
 
21
+
22
+
19
23
  みたいに見えますね。
24
+
25
+
26
+
27
+ ```php
28
+
29
+ $Img_src=implode(",", $img_array);
30
+
31
+ $post['source']= $facebook->fileToUpload($Img_src);
32
+
33
+ ```
34
+
35
+ でなく
36
+
37
+ ```php
38
+
39
+ foreach($img_array as $img) {
40
+
41
+ $media[] = $facebook->fileToUpload($img);
42
+
43
+ }
44
+
45
+ $post['attached_media'] = $media;
46
+
47
+ ```
48
+
49
+ とかやってfileToUpload()のリターン値を保持したものを次のpost()に流用するような。
50
+
51
+ sourceとしないのは、もう既にファイルはアップロード済みだから、
52
+
53
+ アップロード済みのを添付するために、attached_mediaなのかなと推察。
54
+
55
+
56
+
57
+ (ドキュメントを見ているだけで、実際に動かしたことはありません。あしからず)
58
+
59
+
60
+
61
+

1

加筆修正

2017/05/05 07:26

投稿

退会済みユーザー
test CHANGED
@@ -2,4 +2,18 @@
2
2
 
3
3
  を見ると、ファイル単品のアップロードが想定されているfileToUpload()ではないかと思われます。
4
4
 
5
+
6
+
7
+ [Photo Upload with Graph API](https://developers.facebook.com/docs/graph-api/photo-uploads)
8
+
5
- foreach()ループを回してはダメなのですか?
9
+ Publishing a multi-photo story
10
+
11
+
12
+
13
+ も参照すると、
14
+
15
+ 0. 必要なファイルを一つずつファイルアップロードし、media_fbidを記録しておく。
16
+
17
+ 0. 記録しておいたmedia_fbidを元にphoto storyとしてまとめるrequestを送信。
18
+
19
+ みたいに見えますね。